sclass G22ChallengeIDE > G22LAScriptIDE { visualize { if (scp == null) scp = singleComponentPanel(); loadScript(script); ret scp; } void setScript(G22LAScript script) { if (this.script != script) loadScript(script); } void loadScript(G22LAScript script) { this.script = script; if (scp == null) ret; if (script == null) scp.set(jcenteredlabel(noScriptSelectedMsg())); else { ide = g22utils.leftArrowIDE(); modifyIDE(ide); ide.lvScript(script.lvLatestText()); scp.set(wrapIDE(ide)); } } swappable JComponent wrapIDE(JLeftArrowScriptIDE ide) { ret ide.visualize(); } swappable void modifyIDE(JLeftArrowScriptIDE ide) { } }