Skip to content

Commit

Permalink
Auto-resize in table attribute details panels was broken (regression …
Browse files Browse the repository at this point in the history
…in 5.0)
  • Loading branch information
ingokegel committed May 1, 2017
1 parent 144a6ec commit d27de14
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ abstract class TableDetailPane<T : AttributeInfo>(elementClass: Class<T>, servic

TableLinkListener(this)
gridColor = UIManager.getColor("control")
this.autoResizeMode = autoResizeMode
this.autoResizeMode = this@TableDetailPane.autoResizeMode

addMouseMotionListener(object : MouseMotionAdapter() {
override fun mouseMoved(e: MouseEvent) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ import org.gjt.jclasslib.structures.attributes.ModuleHashesAttribute
import java.awt.BorderLayout
import java.util.*
import javax.swing.JPanel
import javax.swing.JTable
import javax.swing.tree.TreePath

class ModuleHashesAttributeDetailPane(services: BrowserServices) : TableDetailPane<ModuleHashesAttribute>(ModuleHashesAttribute::class.java, services) {
Expand All @@ -34,9 +33,6 @@ class ModuleHashesAttributeDetailPane(services: BrowserServices) : TableDetailPa

override fun createTableModel(attribute: ModuleHashesAttribute) = AttributeTableModel(attribute.hashEntries)

override val autoResizeMode: Int
get() = JTable.AUTO_RESIZE_LAST_COLUMN

inner class AttributeTableModel(rows: Array<HashEntry>) : ColumnTableModel<HashEntry>(rows) {
override fun buildColumns(columns: ArrayList<Column<HashEntry>>) {
super.buildColumns(columns)
Expand All @@ -47,7 +43,7 @@ class ModuleHashesAttributeDetailPane(services: BrowserServices) : TableDetailPa
add(object : StringColumn<HashEntry>("Verbose") {
override fun createValue(row: HashEntry) = getConstantPoolEntryName(row.moduleNameIndex)
})
add(object : StringColumn<HashEntry>("Hashes") {
add(object : StringColumn<HashEntry>("Hashes", 700) {
override fun createValue(row: HashEntry) =
row.hashValues.map { it.toString(16).padStart(2, '0') }.joinToString(separator = " ")
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,19 @@ import org.gjt.jclasslib.browser.BrowserServices
import org.gjt.jclasslib.browser.detail.TableDetailPane
import org.gjt.jclasslib.structures.attributes.ModulePackagesAttribute
import java.util.*
import javax.swing.JTable

class ModulePackagesAttributeDetailPane(services: BrowserServices) : TableDetailPane<ModulePackagesAttribute>(ModulePackagesAttribute::class.java, services) {

override fun createTableModel(attribute: ModulePackagesAttribute) = AttributeTableModel(attribute.indices)

override val autoResizeMode: Int
get() = JTable.AUTO_RESIZE_LAST_COLUMN

inner class AttributeTableModel(rows: IntArray) : ColumnTableModel<Int>(rows.toTypedArray()) {
override fun buildColumns(columns: ArrayList<Column<Int>>) {
super.buildColumns(columns)
columns.apply {
add(object : ConstantPoolLinkColumn<Int>("Package", services) {
override fun getConstantPoolIndex(row: Int) = row
})
add(object : StringColumn<Int>("Verbose") {
add(object : StringColumn<Int>("Verbose", 400) {
override fun createValue(row: Int) = getConstantPoolEntryName(row)
})
}
Expand Down

0 comments on commit d27de14

Please sign in to comment.