!7 set flag DynModule. sclass Result { S function, result; *() {} *(S *function, O result) { this.result = str(result); } } sclass MultiAnalysis extends DynObjectTable { S input; transient JTextArea taInput; transient bool calculating; visualize { ret withMargin(jvsplit( centerAndEastWithMarginInbetween( onCtrlEnter(taInput = jEnableUndoRedo(typeWriterTextArea(input)), rThread evalIt), vstackWithSpacing( jbutton("Analyze", rThread evalIt))), super.visualize())); } void evalIt { if (calculating) ret; temp tempSetField(this, calculating := true); setField(input := getText(taInput)); setData(ll( Result("isMultiLine", yesno(isMultiLine(input))), Result("Lines", countLines(input)))); } }