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