Revision: 1829
          http://svn.sourceforge.net/vexi/?rev=1829&view=rev
Author:   clrg
Date:     2007-06-11 09:58:51 -0700 (Mon, 11 Jun 2007)

Log Message:
-----------
WIP [dynamic] table commit - it breaks a few things :( but the fix is on the way

Modified Paths:
--------------
    widgets/trunk/org.vexi.widgets/src/org/vexi/lib/widget/table.t
    widgets/trunk/org.vexi.widgets/src/org/vexi/theme/win2k/table.t
    widgets/trunk/org.vexi.widgets/src/vexi/widget/table.t

Modified: widgets/trunk/org.vexi.widgets/src/org/vexi/lib/widget/table.t
===================================================================
--- widgets/trunk/org.vexi.widgets/src/org/vexi/lib/widget/table.t      
2007-06-09 10:24:53 UTC (rev 1828)
+++ widgets/trunk/org.vexi.widgets/src/org/vexi/lib/widget/table.t      
2007-06-11 16:58:51 UTC (rev 1829)
@@ -12,7 +12,7 @@
         var rowheight = 0;
         var rowtemplate = null;
         var sortby = null;
-        var sortasc = null;
+        var sortasc = true;
         var startindex = null;
         var startprevi = null;
         
@@ -60,19 +60,20 @@
                     c.display = th_head[j].display;
                     c.width = th_head[j].width;
                     var d = data[i][j];
-                    if (d != null)
+                    if (typeof(d) == "object")
                     {
-                        if (d.show != null)
-                            c.text = d.show;
-                        c.value = d.val;
+                        c.text = d.show ? d.show : d.value;
+                        c.value = d.value;
                     }
+                    else c.text = d;
                     r[r.numchildren] = c;
                 }
                 // place row
-                th_body[numchildren] = r;
+                th_bodyover[th_bodyover.numchildren] = r;
             }
             startprevi = startindex;
             th_bodyover.y = 0;
+            vexi.log.info("? "+ th_bodyover.numchildren);
         }
         
         /** called by dynamic tables */
@@ -83,7 +84,7 @@
             var r = getRowHeight();
             var start = vexi.math.floor((-th_bodyview.y) / r);
             var count = vexi.math.ceil(th_bodyport.height / rowheight) + 1;
-            fetchData(start, count, th_head.indexof(sortby), sortasc);
+            fetchData(start, count, sortby ? th_head.indexof(sortby) : 0, 
sortasc);
             startindex = start;
             th_bodyover.y = vexi.math.floor((startprevi - startindex) * r);
         }
@@ -115,29 +116,34 @@
         var delayedFetchData = function(v)
         {
             cascade = v;
-            th_bodyover.y = v;
+            var r = getRowHeight();
+            var start = vexi.math.floor((-th_bodyview.y) / r);
+            th_bodyover.y = - start * r;
+            var count = vexi.math.ceil(th_bodyport.height / rowheight) + 1;
+            if (thisbox.setInfo) thisbox.setInfo(start, count);
             invokeFetchData();
         }
         
-        //var forwardFunc = function(v) { cascade = v; th_bodyport[trapname] = 
v; }
+        var forwardToOverFunc = function(v) { cascade = v; 
th_bodyover[trapname] = v; }
+        var forwardToViewFunc = function(v) { cascade = v; 
th_bodyview[trapname] = v; }
         
         thisbox.dynamic ++= function(v)
         {
             if (v)
             {
-                //th_bodyview.width ++= forwardFunc;
-                //th_bodyview.y ++= forwardFunc;
+                th_bodyover.height --= forwardToViewFunc;
+                th_bodyview.y --= forwardToOverFunc;
                 th_bodyview.y ++= delayedFetchData;
-                th_bodyover[0] = th_body;
-                th_bodyover.display = true;
+                //th_bodyview.width --= forwardToOverFunc;
+                th_bodyview.minheight = 0;
+                th_bodyview.maxheight = vexi.ui.maxdim;
             }
             else
             {
-                //th_bodyview.width --= forwardFunc;
-                //th_bodyview.y --= forwardFunc;
+                th_bodyover.height ++= forwardToViewFunc;
+                th_bodyview.y ++= forwardToOverFunc;
                 th_bodyview.y --= delayedFetchData;
-                th_bodyview[0] = th_body;
-                th_bodyover.display = false;
+                //th_bodyview.width ++= forwardToOverFunc;
             }
         }
         
@@ -289,8 +295,7 @@
                 if (c.v_table_type == "body")
                 {
                     th_body = c;
-                    if (dynamic) th_bodyover[0] = c;
-                    else th_bodyview[0] = c;
+                    th_bodyover[0] = c;
                     th_body.selected ++= scrollFunc;
                     
                     v.getPortHeight = function() { return th_bodyport.height; }

Modified: widgets/trunk/org.vexi.widgets/src/org/vexi/theme/win2k/table.t
===================================================================
--- widgets/trunk/org.vexi.widgets/src/org/vexi/theme/win2k/table.t     
2007-06-09 10:24:53 UTC (rev 1828)
+++ widgets/trunk/org.vexi.widgets/src/org/vexi/theme/win2k/table.t     
2007-06-11 16:58:51 UTC (rev 1829)
@@ -28,6 +28,8 @@
         <scrollbar id="hscroll" orient="horizontal" />
         <ui:box id="content" shrink="true" />
         
+        $bodyover.height ++= function(v) { vexi.log.info("??? "+v); cascade = 
v; }
+        
         // assign views
         thisbox.th_content  = $content;
         thisbox.th_headport = $headport;

Modified: widgets/trunk/org.vexi.widgets/src/vexi/widget/table.t
===================================================================
--- widgets/trunk/org.vexi.widgets/src/vexi/widget/table.t      2007-06-09 
10:24:53 UTC (rev 1828)
+++ widgets/trunk/org.vexi.widgets/src/vexi/widget/table.t      2007-06-11 
16:58:51 UTC (rev 1829)
@@ -53,7 +53,7 @@
         rdrt..addRedirect(thisbox, $widget, "dynamic", "enabled", "fill", 
"focused", "reset", "focusable", "sort", "setRowHeight",
                                             "KeyPressed", "KeyReleased", 
"fetchData", "forceFetchData", "loadData", "setRowCount",
                                             "setFilter", "setCompoundFilter", 
"setRowTemplate", "sortAscending", "sortDescending",
-                                            "getOffset", "getXOffset", 
"getYOffset", "setOffset", "setXOffset", "setYOffset",
+                                            "setInfo", "getOffset", 
"getXOffset", "getYOffset", "setOffset", "setXOffset", "setYOffset",
                                             "getVerticalInset", 
"getHorizontalInset", "getViewportHeight", "getViewportWidth");
         
         if ($widget.margin) $margin.margin = $widget.margin;


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