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; } }