//#define CHECKSET_BOOLEAN(prop) boolean nu = toBoolean(value); if (nu == prop) break; prop = nu;
//#define CHECKSET_STRING(prop) if ((value==null&&prop==null)||(value!=null&&value.equals(prop))) break; prop=(String)value;
+ void mark_for_repack() { MARK_REPACK; }
+
protected Box() { super(null); }
static Hash boxToCursor = new Hash(500, 3);
static final String[] props = new String[] {
"fill", "stroke", "image", "tile", "fixedaspect", "text", "path", "font",
"shrink", "hshrink", "vshrink", "x", "y", "width", "height", "cols", "rows",
- "colspan", "rowspan", "align", "invisible", "absolute", "globalx", "globaly",
+ "colspan", "rowspan", "align", "visible", "absolute", "globalx", "globaly",
"minwidth", "maxwidth", "minheight", "maxheight",
"numchildren", "redirect", "cursor", "mousex", "mousey", "xwt", "static",
"mouseinside", "root", "thisbox", "indexof"
* @param pboxes a vector of all box parents on which to put $-references
* @param ptemplates a vector of the fileNames to recieve private references on the pboxes
*/
- void apply(Box b, XWT xwt) throws JSExn { apply(b, xwt, null); }
- void apply(Box b, XWT xwt, PerInstantiationJSScope parentPis) throws JSExn {
+ void apply(Box b, XWT xwt) {
+ try {
+ apply(b, xwt, null);
+ } catch (JSExn e) {
+ b.clear(b.VISIBLE);
+ b.mark_for_repack();
+ Log.log(Template.class, "WARNING: exception (below) thrown during application of template;");
+ Log.log(Template.class, " setting visibility of target box to \"false\"");
+ Log.logJS(e);
+ }
+ }
+
+
+ private void apply(Box b, XWT xwt, PerInstantiationJSScope parentPis) throws JSExn {
getStatic();