From: megacz Date: Fri, 30 Jan 2004 06:48:22 +0000 (+0000) Subject: 2002/06/23 21:33:48 X-Git-Tag: RC3~1671 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=3503f639cc10b863dee5718ab8cba42f1a370b61;p=org.ibex.core.git 2002/06/23 21:33:48 darcs-hash:20040130064822-2ba56-8e69d3bc915af91111846b83a048c7ca45e6b312.gz --- diff --git a/CHANGES b/CHANGES index 93aa654..bc3dc68 100644 --- a/CHANGES +++ b/CHANGES @@ -211,3 +211,5 @@ 23-Jun megacz SOAP.java, XMLRPC.java: bugfix for CDATA content in random elements +23-Jun megacz SpecialBoxProperty.java: fixedaspect, warning about non-self-redirect root boxes + diff --git a/src/org/xwt/SpecialBoxProperty.java b/src/org/xwt/SpecialBoxProperty.java index 52fc331..79c0074 100644 --- a/src/org/xwt/SpecialBoxProperty.java +++ b/src/org/xwt/SpecialBoxProperty.java @@ -180,9 +180,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); } }); @@ -239,6 +242,15 @@ class SpecialBoxProperty { } } }); + specialBoxProperties.put("fixedaspect", new SpecialBoxProperty() { + public Object get(Box b) { return b.sizetoimage ? Boolean.TRUE : Boolean.FALSE; } + public void put(Box b, Object value) { + boolean newval = stob(value); + if (newval == b.fixedaspect) return; + b.fixedaspect = newval; + b.dirty(); + } }); + specialBoxProperties.put("shrink", new SpecialBoxProperty() { public Object get(Box b) { return (b.vshrink && b.hshrink) ? Boolean.TRUE : Boolean.FALSE; } public void put(Box b, Object value) {