source: josm/trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictDecisionRenderer.java@ 7001

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

see #8465 - switch core to Java 7

  • Property svn:eol-style set to native
File size: 3.2 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.conflict.tags;
3
4import java.awt.Component;
5import java.awt.Font;
6
7import javax.swing.JLabel;
8import javax.swing.JList;
9import javax.swing.JTable;
10import javax.swing.ListCellRenderer;
11import javax.swing.UIManager;
12import javax.swing.table.TableCellRenderer;
13
14import org.openstreetmap.josm.gui.widgets.JosmComboBox;
15
16public class RelationMemberConflictDecisionRenderer extends JLabel implements TableCellRenderer, ListCellRenderer<RelationMemberConflictDecisionType> {
17
18 private JosmComboBox cbDecisionTypes;
19
20 protected void resetTableRenderer() {
21 setOpaque(true);
22 setFont(UIManager.getFont("Table.font"));
23 setBackground(UIManager.getColor("Table.background"));
24 setForeground(UIManager.getColor("Table.foreground"));
25 }
26
27 protected void resetListRenderer() {
28 setOpaque(true);
29 setFont(UIManager.getFont("ComboBox.font"));
30 setBackground(UIManager.getColor("ComboBox.background"));
31 setForeground(UIManager.getColor("ComboBox.foreground"));
32 }
33
34 /**
35 * Constructs a new {@code RelationMemberConflictDecisionRenderer}.
36 */
37 public RelationMemberConflictDecisionRenderer() {
38 cbDecisionTypes = new JosmComboBox(RelationMemberConflictDecisionType.values());
39 cbDecisionTypes.setRenderer(this);
40 }
41
42 /* --------------------------------------------------------------------------------- */
43 /* TableCellRenderer */
44 /* --------------------------------------------------------------------------------- */
45 @Override
46 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
47 int row, int column) {
48 resetTableRenderer();
49 if (value == null)
50 return this;
51
52 if (isSelected) {
53 setBackground(UIManager.getColor("Table.selectionBackground"));
54 setForeground(UIManager.getColor("Table.selectionForeground"));
55 }
56 RelationMemberConflictDecisionType decision = (RelationMemberConflictDecisionType)value;
57 cbDecisionTypes.setSelectedItem(decision);
58 return cbDecisionTypes;
59 }
60
61 /* --------------------------------------------------------------------------------- */
62 /* ListCellRenderer */
63 /* --------------------------------------------------------------------------------- */
64 @Override
65 public Component getListCellRendererComponent(
66 JList<? extends RelationMemberConflictDecisionType> list,
67 RelationMemberConflictDecisionType decision, int index, boolean isSelected,
68 boolean cellHasFocus) {
69 resetListRenderer();
70 if (isSelected) {
71 setBackground(UIManager.getColor("ComboBox.selectionBackground"));
72 setForeground(UIManager.getColor("ComboBox.selectionForeground"));
73 }
74 RelationMemberConflictDecisionType.prepareLabel(decision, this);
75 if (RelationMemberConflictDecisionType.UNDECIDED.equals(decision)) {
76 setFont(getFont().deriveFont(Font.ITALIC));
77 }
78 return this;
79 }
80}
Note: See TracBrowser for help on using the repository browser.