2003/11/03 06:32:55
[org.ibex.core.git] / src / org / xwt / XWT.java
index f51f4e6..0c01e67 100644 (file)
@@ -45,9 +45,9 @@ public final class XWT extends JS.Obj {
     }
 
     public Object put(Object name, final Object value) {
-        if (name.equals("thread") && value != null && (value instanceof JS.Callable || value instanceof JS.CompiledFunction)) {
+        if (name.equals("thread") && value != null && (value instanceof JS.Callable || value instanceof Function)) {
             Scheduler.add(new Scheduler.Task() { public void perform() {
-                new JS.Context((CompiledFunction)value, null, null).resume(null);
+                new JS.Context((Function)value, null).resume();
             } });
         } else if (name.equals("clipboard")) Platform.setClipBoard(value.toString());
         else if (name.equals("frame")) Platform.createSurface((Box)value, true, true);
@@ -84,9 +84,13 @@ public final class XWT extends JS.Obj {
             if (checkOnly) return Boolean.TRUE;
             return new Res.Zip((Res)args.elementAt(0));
 
+        } else if (method.equals("uncab")) {
+            if (checkOnly) return Boolean.TRUE;
+            return new Res.Cab((Res)args.elementAt(0));
+
         } else if (method.equals("watchProgress")) {
             if (checkOnly) return Boolean.TRUE;
-            return new Res.ProgressWatcher((Res)args.elementAt(0), (JS.CompiledFunction)args.elementAt(1));
+            return new Res.ProgressWatcher((Res)args.elementAt(0), (Function)args.elementAt(1));
 
         } else if (method.equals("yield")) {
             if (checkOnly) return Boolean.TRUE;
@@ -195,8 +199,9 @@ public final class XWT extends JS.Obj {
         final JS.Context jsthread = JS.Context.current();
         final long currentTime = System.currentTimeMillis();
         final Scheduler.Task task = new Scheduler.Task() { public void perform() {
+            // FIXME: don't busy-wait
             if (System.currentTimeMillis() - currentTime < i) Scheduler.add(this);
-            else jsthread.resume(null);
+            else jsthread.resume();
         } };
         Scheduler.add(task);
         return JS.Context.pause;
@@ -213,7 +218,7 @@ public final class XWT extends JS.Obj {
         }
         public Object get(Object key) {
             Object ret = super.get(key);
-            if(ret == null) ret = JS.Math.get(key);
+            if(ret == null) ret = org.xwt.js.Math.singleton.get(key);
             return ret;
         }
     }