Minimize column "Active" width

This commit is contained in:
Matthias Gugel 2021-02-14 08:55:31 +01:00
parent 7474792579
commit 183a44bc00

View File

@ -10,6 +10,7 @@ import com.intellij.ui.table.JBTable
import java.awt.BorderLayout
import java.awt.FlowLayout
import javax.swing.JPanel
import javax.swing.table.TableColumn
class FilenameTemplateSettingsComponent(val filenameTemplates: ArrayList<FilenameTemplateModel>) {
private var filenameTemplateTableModel: FilenameTemplateTableModel = FilenameTemplateTableModel(filenameTemplates)
@ -21,12 +22,26 @@ class FilenameTemplateSettingsComponent(val filenameTemplates: ArrayList<Filenam
filenameTemplateTable = JBTable(filenameTemplateTableModel)
filenameTemplateTable.autoCreateRowSorter = false
val activeColumn = filenameTemplateTable.columnModel.getColumn(0)
activeColumn.resizable = false
activeColumn.maxWidth = determineRequiredWidth(activeColumn)
val filenameTemplateTableScrollPane = JBScrollPane(filenameTemplateTable)
panel.add(filenameTemplateTableScrollPane, BorderLayout.CENTER)
panel.add(createToolbar(filenameTemplateTable), BorderLayout.EAST)
}
private fun determineRequiredWidth(column: TableColumn): Int =
filenameTemplateTable.tableHeader.defaultRenderer.getTableCellRendererComponent(
filenameTemplateTable,
column.headerValue,
false,
false,
0,
0
).preferredSize.width + 8
private fun createToolbar(table: JBTable): JPanel {
val actionGroup = DefaultActionGroup()
actionGroup.add(object : AnAction("Add", "Add new filename template", AllIcons.General.Add) {