!7 cmodule SmartParser > DynTextArea { transient SingleComponentPanel scp; transient L parsed; visual jvsplit(super, jCenteredSection("Parsed", scp = singleComponentPanel(makeComponent()))); start { dm_watchFieldAndNow text(r parse); } void parse { setField(parsed := smartParser1_generic(text)); if (scp != null) scp.setComponent(makeComponent()); } JComponent makeComponent() { pnl(+parsed); ret jscroll(jTree_hideRoot(jDynamicTree( (O) parsed, o -> optCast Cl(o), makeChildrenIsFast := true))); } }