Revision: 3639
          http://vexi.svn.sourceforge.net/vexi/?rev=3639&view=rev
Author:   clrg
Date:     2009-09-02 17:44:48 +0000 (Wed, 02 Sep 2009)

Log Message:
-----------
Fix scrollpane demo

Modified Paths:
--------------
    trunk/widgets/org.vexi.demo/src/org/vexi/demo/feature/scrollpane.t

Added Paths:
-----------
    trunk/widgets/org.vexi.demo/src/org/vexi/demo/inner/scrollspin.t

Modified: trunk/widgets/org.vexi.demo/src/org/vexi/demo/feature/scrollpane.t
===================================================================
--- trunk/widgets/org.vexi.demo/src/org/vexi/demo/feature/scrollpane.t  
2009-09-02 17:44:38 UTC (rev 3638)
+++ trunk/widgets/org.vexi.demo/src/org/vexi/demo/feature/scrollpane.t  
2009-09-02 17:44:48 UTC (rev 3639)
@@ -1,7 +1,7 @@
 <!-- Copyright 2007 - see COPYING for details [LGPL] -->
 
 <vexi xmlns:ui="vexi://ui" xmlns:meta="vexi://meta" xmlns="vexi.widget"
-    xmlns:demo="org.vexi.demo" xmlns:lay="vexi.layout">
+    xmlns:demo="org.vexi.demo.inner" xmlns:lay="vexi.layout">
     
     static.name = "Scrollpane";
     static.category = "Widgets";
@@ -20,69 +20,42 @@
             </bevel>
         </ui:box>
         
-        <separator margin="3 8" hshrink="true" />
+        <ui:box width="20" />
         
-        <ui:box orient="vertical" shrink="true">
+        <ui:box orient="vertical" hshrink="true">
             <ui:box height="3" />
             <ui:box text="Scrollbar Properties" shrink="true" />
             <ui:box height="5" />
-            <ui:box align="left" orient="vertical" shrink="true">
-                <check id="scrollhorizontal" margin="3 10" 
text="scrollhorizontal" selected="true" />
-                <check id="scrollvertical" margin="3 10" text="scrollvertical" 
selected="true" />
-                <check id="autohidehorizontal" margin="3 10" 
text="autohidehorizontal" />
-                <check id="autohidevertical" margin="3 10" 
text="autohidevertical" />
+            <ui:box shrink="true">
+                <ui:box align="left" orient="vertical" shrink="true">          
      
+                    <check id="scrollhorizontal" margin="3 10" 
text="scrollhorizontal" selected="true" />
+                    <check id="scrollvertical" margin="3 10" 
text="scrollvertical" selected="true" />
+                </ui:box>
+                <ui:box align="left" orient="vertical" shrink="true">
+                    <check id="autohidehorizontal" margin="3 10" 
text="autohidehorizontal" />
+                    <check id="autohidevertical" margin="3 10" 
text="autohidevertical" />
+                </ui:box>
             </ui:box>
-            <ui:box />
             
-            <separator margin="8 3 11 0" />
+            <ui:box height="20" />
             
-            <ui:box text="Scrollbar Spacing Properties" />
+            <ui:box text="Scrollpane Spacing Properties" shrink="true" />
             <ui:box height="5" />
-            <ui:box>
+            <ui:box shrink="true">
                 <ui:box orient="vertical">
-                    <ui:box>
-                        <ui:box align="right" text="margin" />
-                        <spin id="margin" margin="3 5" minvalue="0" 
maxvalue="100" interval="1" minwidth="45" />
-                    </ui:box>
-                    <ui:box>
-                        <ui:box align="right" text="left" />
-                        <spin id="marginLeft" margin="3 5" minvalue="0" 
maxvalue="100" interval="1" minwidth="45" />
-                    </ui:box>
-                    <ui:box>
-                        <ui:box align="right" text="right" />
-                        <spin id="marginRight" margin="3 5" minvalue="0" 
maxvalue="100" interval="1" minwidth="45" />
-                    </ui:box>
-                    <ui:box>
-                        <ui:box align="right" text="top" />
-                        <spin id="marginTop" margin="3 5" minvalue="0" 
maxvalue="100" interval="1" minwidth="45" />
-                    </ui:box>
-                    <ui:box>
-                        <ui:box align="right" text="bottom" />
-                        <spin id="marginBottom" margin="3 5" minvalue="0" 
maxvalue="100" interval="1" minwidth="45" />
-                    </ui:box>
+                    <demo:scrollspin id="margin" prop="margin" />
+                    <demo:scrollspin id="marginLeft" prop="marginleft" />
+                    <demo:scrollspin id="marginRight" prop="marginright" />
+                    <demo:scrollspin id="marginTop" prop="margintop" />
+                    <demo:scrollspin id="marginBottom" prop="marginbottom" />
                 </ui:box>
                 
                 <ui:box orient="vertical">
-                    <ui:box>
-                        <ui:box align="right" text="padding" />
-                        <spin id="padding" margin="3 5" minvalue="0" 
maxvalue="100" interval="1" minwidth="45" />
-                    </ui:box>
-                    <ui:box>
-                        <ui:box align="right" text="left" />
-                        <spin id="paddingLeft" margin="3 5" minvalue="0" 
maxvalue="100" interval="1" minwidth="45" />
-                    </ui:box>
-                    <ui:box>
-                        <ui:box align="right" text="right" />
-                        <spin id="paddingRight" margin="3 5" minvalue="0" 
maxvalue="100" interval="1" minwidth="45" />
-                    </ui:box>
-                    <ui:box>
-                        <ui:box align="right" text="top" />
-                        <spin id="paddingTop" margin="3 5" minvalue="0" 
maxvalue="100" interval="1" minwidth="45" />
-                    </ui:box>
-                    <ui:box>
-                        <ui:box align="right" text="bottom" />
-                        <spin id="paddingBottom" margin="3 5" minvalue="0" 
maxvalue="100" interval="1" minwidth="45" />
-                    </ui:box>
+                    <demo:scrollspin id="padding" prop="padding" />
+                    <demo:scrollspin id="paddingLeft" prop="paddingleft" />
+                    <demo:scrollspin id="paddingRight" prop="paddingright" />
+                    <demo:scrollspin id="paddingTop" prop="paddingtop" />
+                    <demo:scrollspin id="paddingBottom" prop="paddingbottom" />
                 </ui:box>
             </ui:box>
             
@@ -94,80 +67,51 @@
         $autohidehorizontal.selected ++= function(v) { 
$pane.autohidehorizontal = v; cascade = v; }
         $autohidevertical.selected ++= function(v) { $pane.autohidevertical = 
v; cascade = v; }
         
-        var casading = false;
-        var setMarginSpinners = function() {
-            casading = true;
-            $margin.value = $pane.margin;
+        var setOnPane = function(v) {
+            cascade = v;
+            if (updating) return;
+            $pane[trapee.prop] = v;
+        }
+        
+        $margin.value ++= setOnPane;
+        $marginLeft.value ++= setOnPane;
+        $marginRight.value ++= setOnPane;
+        $marginTop.value ++= setOnPane;
+        $marginBottom.value ++= setOnPane;
+        
+        $padding.value ++= setOnPane;
+        $paddingLeft.value ++= setOnPane;
+        $paddingRight.value ++= setOnPane;
+        $paddingTop.value ++= setOnPane;
+        $paddingBottom.value ++= setOnPane;
+        
+        $margin.value = $pane.margin;
+        $padding.value = $pane.padding;
+        
+        var updating = false;
+        
+        $margin.value ++=  function(v) {
+            cascade = v;
+            updating = true;
             $marginLeft.value = $pane.marginleft;
             $marginRight.value = $pane.marginright;
             $marginTop.value = $pane.margintop;
             $marginBottom.value = $pane.marginbottom;
-            casading = false;
+            updating = false;
         }
-        setMarginSpinners();
-        
-        $margin.value ++= function(v) {
-            if (casading) return;
-            $pane.margin = v;
-            setMarginSpinners();
-        }
-        $marginLeft.value ++= function(v) {
-            if (casading) return;
-            $pane.marginleft = v;
-            setMarginSpinners();
-        }
-        $marginRight.value ++= function(v) {
-            if (casading) return;
-            $pane.marginright = v;
-            setMarginSpinners();
-        }
-        $marginTop.value ++= function(v) {
-            if (casading) return;
-            $pane.margintop = v;
-            setMarginSpinners();
-        }
-        $marginBottom.value ++= function(v) {
-            if (casading) return;
-            $pane.marginbottom = v;
-            setMarginSpinners();
-        }
-        
-        var setPaddingSpinners = function() {
-            casading = true;
-            $padding.value = $pane.padding;
+        $padding.value ++= function(v) {
+            cascade = v;
+            updating = true;
             $paddingLeft.value = $pane.paddingleft;
             $paddingRight.value = $pane.paddingright;
             $paddingTop.value = $pane.paddingtop;
             $paddingBottom.value = $pane.paddingbottom;
-            casading = false;
+            updating = false;
         }
-        setPaddingSpinners();
         
-        $padding.value ++= function(v) {
-            if (casading) return;
-            $pane.padding = v;
-            setPaddingSpinners();
-        }
-        $paddingLeft.value ++= function(v) {
-            if (casading) return;
-            $pane.paddingleft = v;
-            setPaddingSpinners();
-        }
-        $paddingRight.value ++= function(v) {
-            if (casading) return;
-            $pane.paddingright = v;
-            setPaddingSpinners();
-        }
-        $paddingTop.value ++= function(v) {
-            if (casading) return;
-            $pane.paddingtop = v;
-            setPaddingSpinners();
-        }
-        $paddingBottom.value ++= function(v) {
-            if (casading) return;
-            $pane.paddingbottom = v;
-            setPaddingSpinners();
-        }
+        // initialize
+        $margin.value = $pane.margin;
+        $padding.value = $pane.padding;
         
     </lay:pad>
 </vexi>

Added: trunk/widgets/org.vexi.demo/src/org/vexi/demo/inner/scrollspin.t
===================================================================
--- trunk/widgets/org.vexi.demo/src/org/vexi/demo/inner/scrollspin.t            
                (rev 0)
+++ trunk/widgets/org.vexi.demo/src/org/vexi/demo/inner/scrollspin.t    
2009-09-02 17:44:48 UTC (rev 3639)
@@ -0,0 +1,13 @@
+<!-- Copyright 2007 - see COPYING for details [LGPL] -->
+
+<vexi xmlns:ui="vexi://ui" xmlns:rdt="vexi.util.redirect" xmlns="vexi.widget">
+    <ui:box>
+        <ui:box id="label" align="right" text="bottom" />
+        <spin id="val" margin="3 5" minvalue="0" maxvalue="100" interval="1" 
minwidth="45" shrink="true" />
+        
+        prop ++= function(v) { $label.text = v; cascade = v; }
+        
+        rdt..addRedirect(thisbox, $val, "value");
+        
+    </ui:box>
+</vexi>


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

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Vexi-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/vexi-svn

Reply via email to