!7 p-subst { autoRestart(); fS listName = "List => Language"; SS guesses = mechMapCI_leftArrows(listName + " | Guesses"); SS confirmed = mechMapCI_leftArrows(listName + " | Confirmed"); guesses = mapMinusKeysOfOtherMap(guesses, confirmed); final JTable table = showTable(listName + " | Guesses", namedMap("List", "Language", mapSortedByValue(); addToWindowWithMargin(table, jcenteredline( selectedRowCountTableButton(table, jbutton("Confirm Selected", r { S text = lines(map(selectedTableRowsData(table), func(L l) -> S { second(l) + " <= " + first(l) })); if (neqic("No change", infoBoxAndReturn(botAppendToMechList_uniqCI(listName + " | Guesses", text)))) restart(); // TODO: just update table })))); }