!7 cmodule AgiBlueControlPanel { transient JLabel lblStarted; transient JButton btnStart; S port = "8080"; visualize { if (getOpt(agiProg(), 'webServerPorts) == null) ret jcenteredlabel("Not running agi.blue"); ret makeForm( "Web Server Started:", lblStarted = jlabel(yesNo(started())), "HTTP Port:", dm_inputField('port), "", " ", "", btnStart = setEnabled(!started(), makeBold(jButtonWithInset("Start Web Server", rThread startWebServer))), "", " ", "", jbutton("Open In Browser", rThread openInBrowser)); } void startWebServer enter { set(agiProg(), webServerPorts := new int[] { parseInt(port) }); disableButton(btnStart); temp tempSetButtonText(btnStart, "Starting..."); call(agiProg(), 'startEleu); setText(lblStarted, yesNo(started())); } bool started() { ret isTrue(get(agiProg(), 'started)); } O agiProg() { ret mainProgram(); } bool warnOnDelete() { true; } void openInBrowser enter { openURLInBrowser("http://localhost:" + parseInt(port)); } }