X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fxwt%2FSpecialBoxProperty.java;h=bc9b9d45c36c126bcf5216417ead781758310725;hb=e58686eae8a823ed64ed0ec92c2274c41d90ec93;hp=52fc331adf09c2aa4c2b4b68303503a762a5c8d2;hpb=5d41517a1e4ee5201568531809835f663d00be3b;p=org.ibex.core.git diff --git a/src/org/xwt/SpecialBoxProperty.java b/src/org/xwt/SpecialBoxProperty.java index 52fc331..bc9b9d4 100644 --- a/src/org/xwt/SpecialBoxProperty.java +++ b/src/org/xwt/SpecialBoxProperty.java @@ -1,11 +1,11 @@ // Copyright 2002 Adam Megacz, see the COPYING file for licensing [GPL] package org.xwt; -import org.mozilla.javascript.*; -import org.xwt.util.*; import java.util.*; import java.net.*; import java.text.*; +import org.xwt.js.*; +import org.xwt.util.*; /** * A helper class for properties of Box which require special @@ -101,8 +101,7 @@ class SpecialBoxProperty { else if (s.equals("pink")) newcolor = pink; else if (s.equals("yellow")) newcolor = yellow; else if (s.equals("white")) newcolor = white; - else if (Log.on) Log.log(this, "invalid color " + s); - + else if (Log.on) Log.log(this, "invalid color \"" + s + "\" at " + JS.getCurrentFunctionSourceName()); if (newcolor == b.color) return; b.color = newcolor; b.dirty(); @@ -145,8 +144,7 @@ class SpecialBoxProperty { else if (s.equals("pink")) newtextcolor = pink; else if (s.equals("yellow")) newtextcolor = yellow; else if (s.equals("white")) newtextcolor = white; - else if (Log.on) Log.log(this, "invalid textcolor " + s); - + else if (Log.on) Log.log(this, "invalid color \"" + s + "\" at " + JS.getCurrentFunctionSourceName()); if (newtextcolor == b.textcolor) return; b.textcolor = newtextcolor; b.dirty(); @@ -163,14 +161,11 @@ class SpecialBoxProperty { if (Log.on) Log.log(this, "ISO Control characters are not permitted in box text strings; offending character is ASCII " + ((int)t.charAt(i))); - /* FIXME: reinstate return; - */ } - // FIXME: don't know why this is needed + // FEATURE: try removing the following line; it appears to be redundant b.dirty(); - b.text = t; b.textupdate(); b.dirty(); @@ -180,9 +175,12 @@ class SpecialBoxProperty { public Object get(Box b) { return b; } public void put(Box b, Object value) { if (value == null) b.remove(); - else if (value.equals("window")) Platform.createSurface(b, false, true); - else if (value.equals("frame")) Platform.createSurface(b, true, true); - else if (Log.on) Log.log(this, "put invalid value to 'thisbox' property: " + value); + else if (value.equals("window") || value.equals("frame")) { + if (b.redirect != b && Log.on) + Log.log(this, "WARNING: you have created a surface whose root box's redirect is not itself " + + "-- this isn't usually a good idea"); + Platform.createSurface(b, value.equals("frame"), true); + } else if (Log.on) Log.log(this, "put invalid value to 'thisbox' property: " + value); } }); @@ -216,7 +214,7 @@ class SpecialBoxProperty { specialBoxProperties.put("static", new SpecialBoxProperty() { public Object get(Box b) { - String cfsn = JSObject.getCurrentFunctionSourceName(); + String cfsn = JS.getCurrentFunction().getSourceName(); for(int i=0; i