package jetbrains.mps.ide.java.platform.refactorings;
/*Generated by MPS */
import com.intellij.util.ui.AbstractTableCellEditor;
import jetbrains.mps.baseLanguage.util.plugin.refactorings.ExtractMethodRefactoringParameters;
import java.awt.Component;
import javax.swing.JTable;
import jetbrains.mps.baseLanguage.util.plugin.refactorings.MethodParameter;
import jetbrains.mps.internal.collections.runtime.ListSequence;
import javax.swing.JComboBox;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
/*package*/ class ParameterTypeCellEditor extends AbstractTableCellEditor {
private String mySelected;
private ExtractMethodRefactoringParameters myModel;
/*package*/ ParameterTypeCellEditor(ExtractMethodRefactoringParameters params) {
this.myModel = params;
}
@Override
public Object getCellEditorValue() {
return this.mySelected;
}
@Override
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
MethodParameter p = ListSequence.fromList(this.myModel.getParameters()).getElement(row);
final JComboBox comboBox = new JComboBox(ListSequence.fromList(p.getAvailableTypes()).toGenericArray(String.class));
comboBox.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent p0) {
ParameterTypeCellEditor.this.mySelected = ((String) comboBox.getSelectedItem());
}
});
comboBox.setSelectedItem(value);
return comboBox;
}
}