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