!7 cmodule AgiBlueControlPanel { transient JLabel lblStarted; visualize { int[] ports = cast getOpt(agiProg(), 'webServerPorts); if (ports == null) ret jcenteredlabel("Not running agi.blue"); ret makeForm( "HTTP Ports:", joinWithComma(asList(ports)), "Started:", lblStarted = jlabel(yesNo(started())), "", jbutton("Start Web Server", rThread startWebServer)); } void startWebServer enter { call(agiProg(), 'startEleu); setText(lblStarted, yesNo(started())); } bool started() { ret isTrue(get(agiProg(), 'started)); } O agiProg() { ret mainProgram(); } }