2003/06/10 21:45:35
[org.ibex.core.git] / src / org / xwt / XWT.java
index cb18679..ed8feb1 100644 (file)
@@ -57,63 +57,65 @@ public final class XWT extends JS.Obj {
         put("tempDir", System.getProperty("java.io.tempdir"));
 
        put("math", new JS.Obj() { public Object get(Object name) {
-           if ("ceil".equals(name)) return new JS.Function() { public Object _call(JS.Array args)
+           if ("ceil".equals(name)) return new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args)
                    { if (args.elementAt(0) == null) return null;
                    return new Long((long)Math.ceil(Double.parseDouble(args.elementAt(0).toString()))); } };
-           else if ("floor".equals(name)) return new JS.Function() { public Object _call(JS.Array args)
+           else if ("floor".equals(name)) return new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args)
                    { if (args.elementAt(0) == null) return null;
                        return new Long((long)Math.floor(Double.parseDouble(args.elementAt(0).toString()))); } };
-           else if ("round".equals(name)) return new JS.Function() { public Object _call(JS.Array args)
+           else if ("round".equals(name)) return new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args)
                    { if (args.elementAt(0) == null) return null;
                        return new Long((long)Math.round(Double.parseDouble(args.elementAt(0).toString()))); } };
-           else if ("abs".equals(name)) return new JS.Function() { public Object _call(JS.Array args)
+           else if ("abs".equals(name)) return new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args)
                    { if (args.elementAt(0) == null) return null;
                        return new Long((long)Math.abs(Double.parseDouble(args.elementAt(0).toString()))); } };
-           else if ("min".equals(name)) return new JS.Function() { public Object _call(JS.Array args) {
+           else if ("min".equals(name)) return new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) {
                if (args.length() < 2 || args.elementAt(0) == null || args.elementAt(1) == null) return args.elementAt(0);
                return new Double(Math.min(((Number)args.elementAt(0)).doubleValue(),
                                           ((Number)args.elementAt(1)).doubleValue())); } };
-           else if ("max".equals(name)) return new JS.Function() { public Object _call(JS.Array args) {
+           else if ("max".equals(name)) return new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) {
                if (args.length() < 2) return args.elementAt(0);
                return new Double(Math.max(((Number)args.elementAt(0)).doubleValue(),
                                           ((Number)args.elementAt(1)).doubleValue())); } };
-           else if ("cos".equals(name)) return new JS.Function() { public Object _call(JS.Array args) {
+           else if ("cos".equals(name)) return new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) {
                return new Double(Math.cos(((Number)args.elementAt(0)).doubleValue())); } };
-           else if ("sin".equals(name)) return new JS.Function() { public Object _call(JS.Array args) {
+           else if ("sin".equals(name)) return new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) {
                return new Double(Math.sin(((Number)args.elementAt(0)).doubleValue())); } };
-           else if ("tan".equals(name)) return new JS.Function() { public Object _call(JS.Array args) {
+           else if ("tan".equals(name)) return new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) {
                return new Double(Math.tan(((Number)args.elementAt(0)).doubleValue())); } };
-           else if ("acos".equals(name)) return new JS.Function() { public Object _call(JS.Array args) {
+           else if ("acos".equals(name)) return new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) {
                return new Double(Math.acos(((Number)args.elementAt(0)).doubleValue())); } };
-           else if ("asin".equals(name)) return new JS.Function() { public Object _call(JS.Array args) {
+           else if ("asin".equals(name)) return new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) {
                return new Double(Math.asin(((Number)args.elementAt(0)).doubleValue())); } };
-           else if ("atan".equals(name)) return new JS.Function() { public Object _call(JS.Array args) {
+           else if ("atan".equals(name)) return new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) {
                return new Double(Math.atan(((Number)args.elementAt(0)).doubleValue())); } };
+           else if ("sqrt".equals(name)) return new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) {
+               return new Double(Math.sqrt(((Number)args.elementAt(0)).doubleValue())); } };
            return null;
        }});
 
-       put("newBrowserWindow", new JS.Function() { public Object _call(JS.Array args) throws JS.Exn {
+       put("newBrowserWindow", new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) throws JS.Exn {
            if (args.length() != 1 || args.elementAt(0) == null) return null;
            Platform.newBrowserWindow(args.elementAt(0).toString());
            return null;
        }});
 
-       put("parseFloat", new JS.Function() { public Object _call(JS.Array args) throws JS.Exn {
+       put("parseFloat", new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) throws JS.Exn {
            if (args.length() != 1 || args.elementAt(0) == null) return null;
            return new Float(args.elementAt(0).toString());
        }});
 
-       put("parseInt", new JS.Function() { public Object _call(JS.Array args) throws JS.Exn {
+       put("parseInt", new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) throws JS.Exn {
            if (args.length() != 1 || args.elementAt(0) == null) return null;
            return new Float(args.elementAt(0).toString());
        }});
 
-       put("yield", new JS.Function() { public Object _call(JS.Array args) throws JS.Exn {
+       put("yield", new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) throws JS.Exn {
            sleep(0);
            return null;
        }});
 
-       put("theme", new JS.Function() { public Object _call(JS.Array args) throws JS.Exn {
+       put("theme", new JS.Function(-1, "java", null, null) { 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++) {
@@ -131,38 +133,38 @@ public final class XWT extends JS.Obj {
                return null;
        }});
            
-       put("println", new JS.Function() { public Object _call(JS.Array args) throws JS.Exn {
+       put("println", new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) throws JS.Exn {
            if (args.length() != 1) return null;
            if (Log.on) Log.log(this, JS.getFileAndLine() + " " +
                                (args.elementAt(0) == null ? "**null**" : args.elementAt(0).toString()));
            return null;
        }});
 
-       put("date", new JS.Function() { public Object _call(JS.Array args) throws JS.Exn {
+       put("date", new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) throws JS.Exn {
            Log.log(XWT.class, "date not implemented");
            //throw new Error("not implemented");
            return null;
         }});
 
-       put("regexp", new JS.Function() { public Object _call(JS.Array args) throws JS.Exn {
+       put("regexp", new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) throws JS.Exn {
            //throw new Error("not implemented");
            Log.log(XWT.class, "regexp not implemented");
            return null;
        }});
 
-       put("listfonts", new JS.Function() { public Object _call(JS.Array args) throws JS.Exn {
+       put("listfonts", new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) throws JS.Exn {
            Object[] fonts = Platform.listFonts();
            JS.Array ret = new JS.Array();
            for(int i=0; i<fonts.length; i++) ret.addElement(fonts[i]);
            return ret;
        }});
 
-       put("xmlrpc", new JS.Function() { public Object _call(JS.Array args) throws JS.Exn {
+       put("xmlrpc", new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) throws JS.Exn {
            if (args.length() != 1 || args.elementAt(0) == null) return null;
            return new XMLRPC(args.elementAt(0).toString(), "");
        }});
 
-       put("soap", new JS.Function() { public Object _call(JS.Array args) throws JS.Exn {
+       put("soap", new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) throws JS.Exn {
            if (args.length() == 1 && args.elementAt(0) != null) return new SOAP(args.elementAt(0).toString(), "", null, null);
            else if (args.length() == 2 && args.elementAt(0) != null && args.elementAt(1) != null)
                return new SOAP(args.elementAt(0).toString(), "", args.elementAt(1).toString(), null);
@@ -171,7 +173,7 @@ public final class XWT extends JS.Obj {
            else return null;
        }});
 
-       put("textwidth", new JS.Function() { public Object _call(JS.Array args) throws JS.Exn {
+       put("textwidth", new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) throws JS.Exn {
            if (args.length() < 1 || args.length() > 2) return null;
            if (args.elementAt(0) == null || (args.length() == 2 && args.elementAt(1) == null)) return null;
            String font = args.length() == 1 ? Platform.getDefaultFont() : args.elementAt(0).toString();
@@ -181,7 +183,7 @@ public final class XWT extends JS.Obj {
            else return new Integer(xwf.stringWidth(text));
        }});
 
-       put("textheight", new JS.Function() { public Object _call(JS.Array args) throws JS.Exn {
+       put("textheight", new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) throws JS.Exn {
            if (args.length() > 1) return null;
            if (args.length() == 1 && args.elementAt(0) == null) return null;
            String font = args.length() == 0 || args.elementAt(0) == null ? Platform.getDefaultFont() : args.elementAt(0).toString();
@@ -190,7 +192,7 @@ public final class XWT extends JS.Obj {
            else return new Integer(xwf.getMaxAscent() + xwf.getMaxDescent());
        }});
        
-       put("newBox", new JS.Function() { public Object _call(JS.Array args) throws JS.Exn {
+       put("newBox", new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) throws JS.Exn {
            if (args.length() > 0) Log.log(XWT.class, "DEPRECATED: xwt.newBox() with multiple arguments is deprecated; use xwt.newBox().apply()");
            JS.Function callback = null;
            for(int i=1; i<args.length(); i++)
@@ -210,20 +212,20 @@ public final class XWT extends JS.Obj {
            return ret;
        }});
 
-       put("sleep", new JS.Function() { public Object _call(JS.Array args) throws JS.Exn {
+       put("sleep", new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) throws JS.Exn {
            if (args != null && (args.length() != 1 || args.elementAt(0) == null)) return null;
            int i = args == null ? 0 : SpecialBoxProperty.stoi(args.elementAt(0).toString());
            sleep(i);
            return null;
        }});
 
-       put("openFile", new JS.Function() { public Object _call(JS.Array args) throws JS.Exn {
+       put("openFile", new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) throws JS.Exn {
            if (args.length() != 1) return null;
            String file = Platform.fileDialog(args.elementAt(0).toString(), false);
            return file == null ? null : new ByteStream(file);
        }});
 
-       put("saveFile", new JS.Function() { public Object _call(JS.Array args) throws JS.Exn {
+       put("saveFile", new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) throws JS.Exn {
            if (args.length() != 2) return null;
            if (!(args.elementAt(1) instanceof ByteStream)) return null;
            String file = args.elementAt(0).toString();
@@ -242,7 +244,7 @@ public final class XWT extends JS.Obj {
            }
        }});
 
-       put("saveFileAs", new JS.Function() { public Object _call(JS.Array args) throws JS.Exn {
+       put("saveFileAs", new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) throws JS.Exn {
            if (args.length() != 2) return null;
            if (!(args.elementAt(1) instanceof ByteStream)) return null;
            String file = args.elementAt(0).toString();
@@ -259,12 +261,12 @@ public final class XWT extends JS.Obj {
            }
        }});
 
-       put("utfEncode", new JS.Function() { public Object _call(JS.Array args) throws JS.Exn {
+       put("utfEncode", new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) throws JS.Exn {
            if (args == null || args.length() != 1) return null;
            return new ByteStream(args.elementAt(0).toString().getBytes());
        }});
 
-       put("parseHTML", new JS.Function() { public Object _call(JS.Array args) throws JS.Exn {
+       put("parseHTML", new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) throws JS.Exn {
                 if (args == null || args.length() != 1 || args.elementAt(0) == null) return null;
                 try {
                     if (args.elementAt(0) instanceof ByteStream) {
@@ -280,13 +282,13 @@ public final class XWT extends JS.Obj {
             }
         });
     
-    put("recursivePrintObject", new JS.Function() { public Object _call(JS.Array args) {
+    put("recursivePrintObject", new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) {
        if (args.length() != 1) return null;
        recurse("", "", args.elementAt(0));
        return null;
     }});
 
-    put("loadArchive", new JS.Function() { public Object _call(JS.Array args) throws JS.Exn {
+    put("loadArchive", new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) throws JS.Exn {
        if (!ThreadMessage.suspendThread()) return null;
        try {
            if (args == null || args.length() < 1 || args.elementAt(0) == null) return null;
@@ -345,7 +347,7 @@ public final class XWT extends JS.Obj {
        return null;
     }});
 
-    put("prefetchImage", new JS.Function() { public Object _call(JS.Array args) throws JS.Exn {
+    put("prefetchImage", new JS.Function(-1, "java", null, null) { public Object _call(JS.Array args) throws JS.Exn {
        if (args == null || args.length() < 1 || args.elementAt(0) == null) return null;
        Box.getImage(args.elementAt(0).toString(),
                     args.length() > 1 && args.elementAt(1) instanceof JS.Function ? (JS.Function)args.elementAt(1) : null);