!7 static JTable table; sS listName, guessesList, confirmedList; p-subst { autoRestart(); listName = "List => Language"; guessesList = listName + " | Guesses"; confirmedList = listName + " | Confirmed"; makeTable(); addToWindowWithMargin(table, jcenteredline( selectedRowCountTableButton(table, jbutton("Confirm Selected", r { S text = lines(map(selectedTableRowsData(table), func(L l) -> S { second(l) + " <= " + first(l) })); if (!swicOneOf(infoBoxAndReturn(botAppendToMechList_uniqCI(confirmedList, text)), "No change", "ERROR")) { mechLists_clearCache(); makeTable(); } })))); } svoid makeTable { SS guesses = mechMapCI_leftArrows(guessesList); SS confirmed = mechMapCI_leftArrows(confirmedList); guesses = mapMinusKeysOfOtherMap(guesses, confirmed); table = showTable(table, namedMap("List", "Language", mapSortedByValue(guesses)), guessesList); }