// This code is based on the main method of the Rhino Debugger Main class
// We pass in the XScriptContext in the global scope for script execution
private Main initUI(final XScriptContext xsctxt) {
try {
final Main sdb = new Main("Rhino JavaScript Debugger");
swingInvoke(new Runnable() {
public void run() {
sdb.pack();
sdb.setSize(640, 640);
sdb.setVisible(true);
}
});
sdb.setExitAction(new Runnable() {
public void run() {
sdb.dispose();
}
});
Context.addContextListener(sdb);
sdb.setScopeProvider(new ScopeProvider() {
public Scriptable getScope() {
Context ctxt = Context.enter();
ImporterTopLevel scope = new ImporterTopLevel(ctxt);
Scriptable jsArgs = Context.toObject(xsctxt, scope);
scope.put("XSCRIPTCONTEXT", scope, jsArgs);