!7 sclass Entry { S listName; bool selected; *() {} *(S *listName) {} } compact module MechListsSelector > DynObjectTable { transient JTextArea taDetail; start { dm_useLocalMechListCopies(); if (empty(data)) setData(map(construct Entry, mechListNames())); // TODO: update later } visualize { JComponent c = super.visualize(); onTableSelectionChanged(table(), r { if (selected() == null) clearTextAndDisable(taDetail); else setTextAndEnable(taDetail, mL_raw(selected().listName)); }); onTableCellLeftClick(table(), voidfunc(int col, int row) { print("col=" + col + ", " + table().getColumnName(col)); }); ret jhsplit(c, taDetail = wordWrapTypeWriterTextArea(), 0.3); } }