!7 sclass DevelopFromExamples > DynModule { new L examples; transient JList examplesList; record Example(S question, S answer) { toString { ret question + " -> " + answer; } } JComponent visualize() { examplesList = jLiveValueList(dm_fieldLiveValue('examples)); listPopupMenuThreaded(examplesList, "Delete Example", voidfunc(S row) { temp enter(); setField(examples := listMinusToString(examples, row)); }); ret withCenteredButtons( examplesList, "Add example...", rThread addExampleDialog); } void addExampleDialog { final JTextField tfQuestion = jtextfield(); final JTextField tfAnswer = jtextfield("?"); showFormTitled("Add example", "Question:", tfQuestion, "Answer (if known):", tfAnswer, r { temp enter(); setField(examples := listPlus(examples, new Example(gtt(tfQuestion), gtt(tfAnswer)))); }); } }