Revision: 1885
          http://svn.sourceforge.net/vexi/?rev=1885&view=rev
Author:   clrg
Date:     2007-06-27 11:38:55 -0700 (Wed, 27 Jun 2007)

Log Message:
-----------
More new layout related fixes
- nicer implementation of focusborder
- tweaked radio layout to match check
- use surface._Release1 in clickable
- throw exceptions by default on redirect collisions

Modified Paths:
--------------
    widgets/trunk/org.vexi.widgets/src/org/vexi/lib/role/clickable.t
    widgets/trunk/org.vexi.widgets/src/org/vexi/lib/role/popupmanager.t
    widgets/trunk/org.vexi.widgets/src/org/vexi/lib/widget/toolbar.t
    widgets/trunk/org.vexi.widgets/src/org/vexi/theme/win2k/focusborder.t
    widgets/trunk/org.vexi.widgets/src/org/vexi/theme/win2k/radio.t
    widgets/trunk/org.vexi.widgets/src/vexi/util/redirect.t

Modified: widgets/trunk/org.vexi.widgets/src/org/vexi/lib/role/clickable.t
===================================================================
--- widgets/trunk/org.vexi.widgets/src/org/vexi/lib/role/clickable.t    
2007-06-27 18:37:07 UTC (rev 1884)
+++ widgets/trunk/org.vexi.widgets/src/org/vexi/lib/role/clickable.t    
2007-06-27 18:38:55 UTC (rev 1885)
@@ -81,7 +81,7 @@
                 // deprime widget
                 primed = false;
                 // clean up trap
-               trapee.Release1 --= callee;
+               trapee._Release1 --= callee;
             }
         }
         
@@ -204,7 +204,7 @@
             trapee.primed = true;
             // apply surface trap
             if (trapee.surface)
-                trapee.surface.Release1 ++= trapee.surfaceReleaseFunc;
+                trapee.surface._Release1 ++= trapee.surfaceReleaseFunc;
         }
         cascade = v;
     }

Modified: widgets/trunk/org.vexi.widgets/src/org/vexi/lib/role/popupmanager.t
===================================================================
--- widgets/trunk/org.vexi.widgets/src/org/vexi/lib/role/popupmanager.t 
2007-06-27 18:37:07 UTC (rev 1884)
+++ widgets/trunk/org.vexi.widgets/src/org/vexi/lib/role/popupmanager.t 
2007-06-27 18:38:55 UTC (rev 1885)
@@ -10,9 +10,6 @@
             <ui:box id="content" />
         </ui:box>
         
-        // redirect cols and rows to $content
-        vexi..vexi.util.redirect..addRedirect(thisbox, $content, "layout", 
"orient");
-        
         var interval = 50;    // sleep interval for pop thread
         var popgroups = {};   // track pop groups
         var popforegs = {};   // popgroup foregrounds

Modified: widgets/trunk/org.vexi.widgets/src/org/vexi/lib/widget/toolbar.t
===================================================================
--- widgets/trunk/org.vexi.widgets/src/org/vexi/lib/widget/toolbar.t    
2007-06-27 18:37:07 UTC (rev 1884)
+++ widgets/trunk/org.vexi.widgets/src/org/vexi/lib/widget/toolbar.t    
2007-06-27 18:38:55 UTC (rev 1885)
@@ -12,9 +12,10 @@
         
         th_content ++= function(v)
         {
-            v.ChildAdded ++= function(c)
+            v.Children ++= function(c)
             {
-                if (group) c.group = group;
+                if (c == null) th_content[arguments.index].group = null;
+                else if (group) c.group = group;
                 else group = c.group;
             }
         }

Modified: widgets/trunk/org.vexi.widgets/src/org/vexi/theme/win2k/focusborder.t
===================================================================
--- widgets/trunk/org.vexi.widgets/src/org/vexi/theme/win2k/focusborder.t       
2007-06-27 18:37:07 UTC (rev 1884)
+++ widgets/trunk/org.vexi.widgets/src/org/vexi/theme/win2k/focusborder.t       
2007-06-27 18:38:55 UTC (rev 1885)
@@ -5,29 +5,26 @@
         <author>Charles Goodwin</author>
     </meta:doc>
     
-    <ui:box redirect="$content" layout="absolute">
-        <ui:box id="content" shrink="true" />
-        <ui:box id="focus" display="false">
-            <ui:box id="w" fill=".image.dash_v" hshrink="true" />
-            <ui:box orient="vertical">
-                <ui:box id="n" fill=".image.dash_h" vshrink="true" />
-                <ui:box />
-                <ui:box id="s" fill=".image.dash_h" vshrink="true" />
-            </ui:box>
-            <ui:box id="e" fill=".image.dash_v" hshrink="true" />
+    <ui:box redirect="$content">
+        <ui:box hshrink="true" width="1"><ui:box id="w" fill=".image.dash_v" 
display="false" hshrink="true" /></ui:box>
+        <ui:box orient="vertical">
+            <ui:box vshrink="true" height="1"><ui:box id="n" 
fill=".image.dash_h" display="false" vshrink="true" /></ui:box>
+            <ui:box id="content" />
+            <ui:box vshrink="true" height="1"><ui:box id="s" 
fill=".image.dash_h" display="false" vshrink="true" /></ui:box>
         </ui:box>
+        <ui:box hshrink="true" width="1"><ui:box id="e" fill=".image.dash_v" 
display="false" hshrink="true" /></ui:box>
         
         thisbox.showfocus = false;
         
         thisbox.showfocus ++= function(v)
         {
             cascade = v;
-            $focus.display = v;
+            $n.display = v;
+            $e.display = v;
+            $s.display = v;
+            $w.display = v;
         }
         
-        $content.width ++= function(v) { minwidth = v; cascade = v; }
-        $content.height ++= function(v) { minheight = v; cascade = v; }
-        
     </ui:box>
     
     /** reusable function covering common usage */

Modified: widgets/trunk/org.vexi.widgets/src/org/vexi/theme/win2k/radio.t
===================================================================
--- widgets/trunk/org.vexi.widgets/src/org/vexi/theme/win2k/radio.t     
2007-06-27 18:37:07 UTC (rev 1884)
+++ widgets/trunk/org.vexi.widgets/src/org/vexi/theme/win2k/radio.t     
2007-06-27 18:38:55 UTC (rev 1885)
@@ -4,7 +4,8 @@
     <lib:radio />
     <ui:box redirect="$content" padding="0 5">
         <focusborder id="focus">
-            <ui:box id="bg" align="center" layout="absolute" shrink="true">
+            <ui:box width="14" height="14" layout="absolute" shrink="true">
+                <ui:box id="bg" align="center" shrink="true" />
                 <ui:box id="radio" align="center" fill=".image.radio" 
shrink="true" display="false" />
             </ui:box>
             <ui:box id="content" />

Modified: widgets/trunk/org.vexi.widgets/src/vexi/util/redirect.t
===================================================================
--- widgets/trunk/org.vexi.widgets/src/vexi/util/redirect.t     2007-06-27 
18:37:07 UTC (rev 1884)
+++ widgets/trunk/org.vexi.widgets/src/vexi/util/redirect.t     2007-06-27 
18:38:55 UTC (rev 1885)
@@ -5,6 +5,9 @@
         <author>Charles Goodwin</author>
     </meta:doc>
     
+    // whether to throw exceptions or handle collisions
+    static.collisionsThrowExceptions = true;
+    
     /** write function for the main box of a full redirect */
     var mainWriteFunc = function(v)
     {
@@ -45,10 +48,9 @@
         // create box reference from b1 to b2
         if (b1.redirect_to and b1.redirect_to[p])
         {
-            // do not warn about cols/rows
-            if (p != "cols" and p != "rows")
-                vexi.log.warn("Redirected property '"+p+"' more than once from 
a particular box");
-            static.drop(b1, p);
+            if (!collisionsThrowExceptions) static.drop(b1, p);
+            else throw "Redirected property '"+p+"' more than once from a 
particular box";
+
         }
         if (!b1.redirect_to) b1.redirect_to = {};
         b1.redirect_to[p] = b2;
@@ -59,8 +61,8 @@
         // create box reference from b2 to b1
         if (b2.redirect_from and b2.redirect_from[p])
         {
-            vexi.log.warn("Redirected property '"+p+"' to same destination box 
more than once");
-            static.drop(b2.redirect_from[p], p);
+            if (!static.collisionsThrowExceptions) 
static.drop(b2.redirect_from[p], p);
+            else throw "Redirected property '"+p+"' to same destination box 
more than once";
         }
         if (!b2.redirect_from) b2.redirect_from = {};
         b2.redirect_from[p] = b1;


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Vexi-svn mailing list
Vexi-svn@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/vexi-svn

Reply via email to