// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.plugins.turnrestrictions.editor;
import java.awt.Component;
import javax.swing.AbstractCellEditor;
import javax.swing.JTable;
import javax.swing.table.TableCellEditor;
import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField;
import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionItemPriority;
import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionList;
import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionListItem;
/**
* The cell editor for member roles of relation members in a turn restriction.
*
*/
public class MemberRoleCellEditor extends AbstractCellEditor implements TableCellEditor {
//private static Logger logger = Logger.getLogger(MemberRoleCellEditor.class.getName());
private AutoCompletingTextField editor = null;
/** user input is matched against this list of auto completion items */
private AutoCompletionList autoCompletionList = null;
/**
* constructor
*/
public MemberRoleCellEditor() {
editor = new AutoCompletingTextField(0, false);
autoCompletionList = new AutoCompletionList();
editor.setAutoCompletionList(autoCompletionList);
autoCompletionList.add(new AutoCompletionListItem("from", AutoCompletionItemPriority.IS_IN_STANDARD));
autoCompletionList.add(new AutoCompletionListItem("to", AutoCompletionItemPriority.IS_IN_STANDARD));
autoCompletionList.add(new AutoCompletionListItem("via", AutoCompletionItemPriority.IS_IN_STANDARD));
autoCompletionList.add(new AutoCompletionListItem("location_hint", AutoCompletionItemPriority.IS_IN_STANDARD));
}
/**
* replies the table cell editor
*/
@Override
public Component getTableCellEditorComponent(JTable table,
Object value, boolean isSelected, int row, int column) {
String role = (String) value;
editor.setText(role);
return editor;
}
@Override
public Object getCellEditorValue() {
return editor.getText();
}
@Override
public void cancelCellEditing() {
super.cancelCellEditing();
}
@Override
public boolean stopCellEditing() {
return super.stopCellEditing();
}
}