2002/09/15 23:38:37
authormegacz <megacz@xwt.org>
Fri, 30 Jan 2004 06:50:29 +0000 (06:50 +0000)
committermegacz <megacz@xwt.org>
Fri, 30 Jan 2004 06:50:29 +0000 (06:50 +0000)
darcs-hash:20040130065029-2ba56-118cd1703e29a64b301efb4f772095ff77dc6463.gz

CHANGES
src/org/xwt/Template.java

diff --git a/CHANGES b/CHANGES
index 768add5..b8c6055 100644 (file)
--- a/CHANGES
+++ b/CHANGES
 
 15-Sep megacz Platform.java: disable 2d acceleration on Mac OS X 10.2
 
+15-Sep megacz Template.java: added callback for retheme operation
+
 
index f345718..324fea1 100644 (file)
@@ -273,11 +273,8 @@ public class Template {
     }
 
     /** adds a theme mapping, retemplatizing as needed */
-    public static void retheme(String from, String to) {
-        if (Log.on) Log.log(Template.class, "retheming from " + from + " to " + to);
+    public static void retheme(Function callback) {
         XWF.flushXWFs();
-        Resources.mapFrom.addElement(from);
-        Resources.mapTo.addElement(to);
 
         // clear changed marker and relink
         Template[] t = new Template[cache.size()];
@@ -293,6 +290,17 @@ public class Template {
             Box b = ((Surface)Surface.allSurfaces.elementAt(i)).root;
             if (b != null) reapply(b);
         }
+
+        if (callback != null)
+            try {
+                callback.call(Context.enter(), null, null, new Object[] { new Double(1.0), new Double(1.0) });
+            } catch (EcmaError ex) {
+                if (Log.on) Log.log(Template.class, "WARNING: uncaught interpreter exception: " + ex.getMessage());
+                if (Log.on) Log.log(Template.class, "         thrown from within progress callback at " + ex.getSourceName() + ":" + ex.getLineNumber());
+            } catch (JavaScriptException ex) {
+                if (Log.on) Log.log(Template.class, "WARNING: uncaught ecmascript exception: " + ex.getMessage());
+                if (Log.on) Log.log(Template.class, "         thrown from within progress callback at " + ex.sourceFile + ":" + ex.line);
+            }
     }
 
     /** template reapplication procedure */