2003/09/21 10:26:53
[org.ibex.core.git] / src / org / xwt / XWT.java
index 33950f1..7e7e5fe 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2002 Adam Megacz, see the COPYING file for licensing [GPL]
+// Copyright 2003 Adam Megacz, see the COPYING file for licensing [GPL]
 package org.xwt;
 
 import java.io.*;
@@ -12,6 +12,8 @@ import org.bouncycastle.util.encoders.Base64;
 /** Singleton class that provides all functionality in the xwt.* namespace */
 public final class XWT extends JS.Obj {
 
+    public Res resourceRoot = null;
+
     public static final XWT singleton = new XWT();
     private final JS xwtMath = new XWTMath();
     private final JS xwtString = new XWTString();
@@ -39,8 +41,8 @@ public final class XWT extends JS.Obj {
         else if (name.equals("clipboard")) Platform.setClipBoard(value.toString());
         else if (name.equals("proxyAuthorization")) {
             // FIXME: undocumented, possibly insecure
-            Proxy.Authorization.authorization = value.toString();
-            Proxy.Authorization.waitingForUser.release();
+            HTTP.Proxy.Authorization.authorization = value.toString();
+            HTTP.Proxy.Authorization.waitingForUser.release();
         } else super.put(name, value);
     }
 
@@ -70,24 +72,10 @@ public final class XWT extends JS.Obj {
             return null;
         }});
 
-        super.put("theme", new JS.Callable() { public Object call(JS.Array args) throws JS.Exn {
-                if (args.length() != 2) return null;
-                if (args.elementAt(0) == null || args.elementAt(1) == null) return null;
-                for(int i=1; i<args.length(); i++) {
-                    if (args.elementAt(i) instanceof String) {
-                        String from = (String)args.elementAt(0);
-                        String to = (String)args.elementAt(i);
-                        if (Log.on) Log.log(this, "retheming from " + from + " to " + to);
-                        Resources.mapFrom.addElement(from);
-                        Resources.mapTo.addElement(to);
-                    }
-                }
-                JS.Callable callback = args.elementAt(args.length() - 1) instanceof JS.Callable ?
-                    (JS.Callable)args.elementAt(args.length() - 1) : null;
-                Template.retheme(callback);
-                return null;
+        super.put("load", new JS.Callable() { public Object call(JS.Array args) throws JS.Exn {
+            return Res.stringToRes(args.elementAt(0).toString());
         }});
-            
+
         super.put("println", new JS.Callable() { public Object call(JS.Array args) throws JS.Exn {
             if (args.length() != 1) return null;
             if (Log.on) Log.logJS(this, (args.elementAt(0) == null ? "**null**" : args.elementAt(0).toString()));
@@ -149,7 +137,7 @@ public final class XWT extends JS.Obj {
             Box ret = new Box();
             if (!(args.length() == 0 || args.elementAt(0) == null))
                 Template.getTemplate(args.elementAt(0).toString(),
-                                     Template.defaultImportList).apply(ret, null, null, callback, 0, 1);
+                                     Template.defaultImportList).apply(ret, null, null, callback, 0, 1, resourceRoot);
             for(int i=1; i<args.length(); i++)
                 if (args.elementAt(i) instanceof Box)
                     ret.put(ret.numChildren(), (Box)args.elementAt(i));
@@ -169,6 +157,7 @@ public final class XWT extends JS.Obj {
             return null;
         }});
 
+        /* FIXME
         super.put("openFile", new JS.Callable() { public Object call(JS.Array args) throws JS.Exn {
             if (args.length() != 1) return null;
             String file = Platform.fileDialog(args.elementAt(0).toString(), false);
@@ -231,7 +220,7 @@ public final class XWT extends JS.Obj {
                 }
             }
         });
-    
+        */    
     super.put("recursivePrintObject", new JS.Callable() { public Object call(JS.Array args) {
         if (args.length() != 1) return null;
         recurse("", "", args.elementAt(0));