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

Last change on this file since 2712 was 2512, checked in by stoecker, 14 years ago

i18n updated, fixed files to reduce problems when applying patches, fix #4017

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.DefaultComboBoxModel;
8import javax.swing.JComboBox;
9import javax.swing.JTable;
10import javax.swing.event.CellEditorListener;
11import javax.swing.table.TableCellEditor;
12
13import org.openstreetmap.josm.gui.util.TableCellEditorSupport;
14
15public class RelationMemberConflictDecisionEditor extends JComboBox implements TableCellEditor {
16
17 public RelationMemberConflictDecisionEditor() {
18 setOpaque(true);
19 DefaultComboBoxModel model = new DefaultComboBoxModel();
20 model.addElement(RelationMemberConflictDecisionType.KEEP);
21 model.addElement(RelationMemberConflictDecisionType.REMOVE);
22 model.addElement(RelationMemberConflictDecisionType.UNDECIDED);
23 setModel(model);
24 setRenderer(new RelationMemberConflictDecisionRenderer());
25 tableCellEditorSupport = new TableCellEditorSupport(this);
26 }
27 /* --------------------------------------------------------------------------------- */
28 /* TableCellEditor */
29 /* --------------------------------------------------------------------------------- */
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 TableCellEditorSupport tableCellEditorSupport;
37 private RelationMemberConflictDecisionType originalValue;
38
39 public void addCellEditorListener(CellEditorListener l) {
40 tableCellEditorSupport.addCellEditorListener(l);
41 }
42
43 public void cancelCellEditing() {
44 setSelectedItem(originalValue);
45 tableCellEditorSupport.fireEditingCanceled();
46 }
47
48 public Object getCellEditorValue() {
49 return getSelectedItem();
50 }
51
52 public boolean isCellEditable(EventObject anEvent) {
53 return true;
54 }
55
56 public void removeCellEditorListener(CellEditorListener l) {
57 tableCellEditorSupport.removeCellEditorListener(l);
58 }
59
60 public boolean shouldSelectCell(EventObject anEvent) {
61 return true;
62 }
63
64 public boolean stopCellEditing() {
65 tableCellEditorSupport.fireEditingStopped();
66 return true;
67 }
68}
Note: See TracBrowser for help on using the repository browser.