2003/09/21 10:26:53
[org.ibex.core.git] / src / org / xwt / Main.java
index 4f7ec28..d55d9bb 100644 (file)
@@ -73,10 +73,12 @@ public class Main {
             Surface.scarPicture = Platform.createPicture(png.getData(), png.getWidth(), png.getHeight());
 
             String initialTemplate = "main";
+            Res initialRR = null;
 
             if (args.length > startargs) {
                 if (args[startargs].startsWith("http://")) {
                     if (Log.on) Log.log(Main.class, "downloading xwar");
+                    initialRR = Res.stringToRes("file:" + args[startargs] + "!");
                     origin = args[startargs];
                     initialTemplate = "org.xwt.builtin.splash";
 
@@ -90,9 +92,10 @@ public class Main {
                     File f = new File(args[startargs]);
                     origin = "file:" + f.getAbsolutePath();
                     if (f.isDirectory()) {
-                        Resources.loadDirectory(f);
+                        initialRR = Res.stringToRes("file:" + args[startargs]);
                         Surface.scarAllSurfacesFromNowOn = true;
                     } else {
+                        initialRR = Res.stringToRes("file:" + args[startargs] + "!");
                         initialTemplate = "org.xwt.builtin.splash";
                     }
 
@@ -102,14 +105,22 @@ public class Main {
             
             if (Log.on) Log.log(Main.class, "instantiating " + initialTemplate);
             final String initialTemplate_f = initialTemplate;
+            final Res initialRR_f = initialRR;
             ThreadMessage.newthread(new JS.Callable() {
                     public Object call(JS.Array args) throws JS.Exn {
                         Box b = new Box();
-                        Template.getTemplate(initialTemplate_f, null).apply(b, null, null, null, 0, 0);
-                        doneInitializing = true;
-                        if (Surface.allSurfaces.size() == 0) {
-                            Log.log(this, "exiting because all surfaces are gone");
-                            Platform.exit();
+                        try {
+                            Template t = Template.buildTemplate(Res.stringToRes("file:.").getInputStream(), "RESOURCE");
+                            t.apply(b, (Vec)null, (Vec)null, (JS.Callable)null, 0, 0, initialRR_f);
+                            //FIXME
+                            //Template.getTemplate(initialTemplate_f, null).apply(b, (Vec)null, (Vec)null, (JS.Callable)null, 0, 0, initialRR_f);
+                            doneInitializing = true;
+                            if (Surface.allSurfaces.size() == 0) {
+                                Log.log(this, "exiting because all surfaces are gone");
+                                Platform.exit();
+                            }
+                        } catch (Exception e) {
+                            Log.log(Main.class, e);
                         }
                         return null;
                     }