!7 static L sentences; concept Sentence { S text; S action; } p-substance { unswing { db(); new ConceptFieldIndex(mainConcepts, Sentence, "text"); } sentences = toLinesFullTrim(loadSnippet(#1008606)); sentences = notStartingWith("\"", sentences); time { makeUniqueConcepts(Sentence, "text", sentences); } JPanel panel = gridLayoutPanel_trackWidth_evenlySpacedCols(2); panel.add(jlabel("Sentence")); panel.add(jlabel("Action")); for (final Sentence s : takeFirst(10, list(Sentence))) { panel.add(jtextfield(s.text)); bool hasAction = nempty(s.action); final JTextField tf = jtextfield(or2(s.action, "screw it")); final JButton okBtn = jbutton("OK", r { enableTextField(tf); cset(s, action := getTextTrim(tf)); }); final Var btn = new(okBtn); if (hasAction) { disableTextField(tf); btn.set(jbutton("Revise", r { enableTextField(tf); replaceComponent(btn!, okBtn); })); } panel.add(centerAndEast(tf, btn!)); } showFrame(jscroll(panel)); //showFrame(jscroll_centered(panel)); }