2002/06/23 21:33:48
authormegacz <megacz@xwt.org>
Fri, 30 Jan 2004 06:48:22 +0000 (06:48 +0000)
committermegacz <megacz@xwt.org>
Fri, 30 Jan 2004 06:48:22 +0000 (06:48 +0000)
darcs-hash:20040130064822-2ba56-8e69d3bc915af91111846b83a048c7ca45e6b312.gz

CHANGES
src/org/xwt/SpecialBoxProperty.java

diff --git a/CHANGES b/CHANGES
index 93aa654..bc3dc68 100644 (file)
--- a/CHANGES
+++ b/CHANGES
 
 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
+
index 52fc331..79c0074 100644 (file)
@@ -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) {