// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.gui.conflict.pair.relation;
import java.awt.Component;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import javax.swing.AbstractCellEditor;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.TableCellEditor;
import org.openstreetmap.josm.data.osm.RelationMember;
/**
* {@see TableCellEditor} for the role column in a table for {@see RelationMember}s.
*
*/
public class RelationMemberTableCellEditor extends AbstractCellEditor implements TableCellEditor{
private final JTextField editor;
public RelationMemberTableCellEditor() {
editor = new JTextField();
editor.addFocusListener(
new FocusAdapter() {
@Override
public void focusGained(FocusEvent arg0) {
editor.selectAll();
}
}
);
}
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
RelationMember member = (RelationMember)value;
editor.setText(member.getRole());
editor.selectAll();
return editor;
}
public Object getCellEditorValue() {
return editor.getText();
}
}