source: josm/trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictDecisionEditor.java@ 7015

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

see #8465 - fix generics for JComboBox/JList

  • Property svn:eol-style set to native
File size: 2.4 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.conflict.tags;
3
4import java.awt.Component;
5import java.util.EventObject;
6
7import javax.swing.JTable;
8import javax.swing.event.CellEditorListener;
9import javax.swing.table.TableCellEditor;
10
11import org.openstreetmap.josm.gui.util.CellEditorSupport;
12import org.openstreetmap.josm.gui.widgets.JosmComboBox;
13
14public class RelationMemberConflictDecisionEditor extends JosmComboBox<RelationMemberConflictDecisionType> implements TableCellEditor {
15
16 /**
17 * Constructs a new {@code RelationMemberConflictDecisionEditor}.
18 */
19 public RelationMemberConflictDecisionEditor() {
20 super(RelationMemberConflictDecisionType.values());
21 setOpaque(true);
22 setRenderer(new RelationMemberConflictDecisionRenderer());
23 tableCellEditorSupport = new CellEditorSupport(this);
24 }
25
26 /* --------------------------------------------------------------------------------- */
27 /* TableCellEditor */
28 /* --------------------------------------------------------------------------------- */
29 @Override
30 public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
31 setSelectedItem(value);
32 this.originalValue = (RelationMemberConflictDecisionType)value;
33 return this;
34 }
35
36 private final CellEditorSupport tableCellEditorSupport;
37 private RelationMemberConflictDecisionType originalValue;
38
39 @Override
40 public void addCellEditorListener(CellEditorListener l) {
41 tableCellEditorSupport.addCellEditorListener(l);
42 }
43
44 @Override
45 public void cancelCellEditing() {
46 setSelectedItem(originalValue);
47 tableCellEditorSupport.fireEditingCanceled();
48 }
49
50 @Override
51 public Object getCellEditorValue() {
52 return getSelectedItem();
53 }
54
55 @Override
56 public boolean isCellEditable(EventObject anEvent) {
57 return true;
58 }
59
60 @Override
61 public void removeCellEditorListener(CellEditorListener l) {
62 tableCellEditorSupport.removeCellEditorListener(l);
63 }
64
65 @Override
66 public boolean shouldSelectCell(EventObject anEvent) {
67 return true;
68 }
69
70 @Override
71 public boolean stopCellEditing() {
72 tableCellEditorSupport.fireEditingStopped();
73 return true;
74 }
75}
Note: See TracBrowser for help on using the repository browser.