Introduce Type Alias: Forbid unchecking of required type arguments

This commit is contained in:
Alexey Sedunov
2016-11-28 12:12:00 +03:00
parent 2a594a5bcc
commit 890578a6a0
2 changed files with 5 additions and 1 deletions
@@ -36,6 +36,8 @@ open class IntroduceTypeAliasParameterTablePanel : AbstractParameterTablePanel<T
super.init() super.init()
} }
override fun isCheckMarkColumnEditable() = false
val selectedTypeParameterInfos: List<TypeParameterInfo> val selectedTypeParameterInfos: List<TypeParameterInfo>
get() = parameterInfos.filter { it.isEnabled } get() = parameterInfos.filter { it.isEnabled }
@@ -150,6 +150,8 @@ abstract class AbstractParameterTablePanel<Param, UIParam : AbstractParameterTab
} }
protected open fun isCheckMarkColumnEditable() = true
protected open inner class TableModelBase : AbstractTableModel(), EditableModel { protected open inner class TableModelBase : AbstractTableModel(), EditableModel {
override fun addRow() = throw IllegalAccessError("Not implemented") override fun addRow() = throw IllegalAccessError("Not implemented")
@@ -209,7 +211,7 @@ abstract class AbstractParameterTablePanel<Param, UIParam : AbstractParameterTab
override fun isCellEditable(rowIndex: Int, columnIndex: Int): Boolean { override fun isCellEditable(rowIndex: Int, columnIndex: Int): Boolean {
val info = parameterInfos[rowIndex] val info = parameterInfos[rowIndex]
return when (columnIndex) { return when (columnIndex) {
CHECKMARK_COLUMN -> isEnabled CHECKMARK_COLUMN -> isEnabled && isCheckMarkColumnEditable()
PARAMETER_NAME_COLUMN -> isEnabled && info.isEnabled PARAMETER_NAME_COLUMN -> isEnabled && info.isEnabled
else -> false else -> false
} }