Author: ekoneil
Date: Thu Jan 27 10:38:46 2005
New Revision: 126635

URL: http://svn.apache.org/viewcvs?view=rev&rev=126635
Log:
Usability fixes in the grid.

- start putting the header cell model into the PageContext so that it's 
properties are data bindable
- add "getLastRowForPage" and "getDataSetSize" methods on the PagerModel

BB: self
DRT: NetUI / data grid pass


Modified:
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/PagerModel.java
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractColumn.java
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractHtmlColumn.java

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/PagerModel.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/PagerModel.java?view=diff&rev=126635&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/PagerModel.java&r1=126634&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/PagerModel.java&r2=126635
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/PagerModel.java
      (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/PagerModel.java
      Thu Jan 27 10:38:46 2005
@@ -52,6 +52,12 @@
         updatePagerState();
     }
 
+    public int getDataSetSize() {
+        if(_dataSetSize == null)
+            return 0;
+        else return _dataSetSize;
+    }
+
     public String getPageAction() {
         return _pageAction;
     }
@@ -99,6 +105,10 @@
     public void setRow(int row) {
         _currentRow = row;
         updatePagerState();
+    }
+
+    public int getLastRowForPage() {
+        return _currentRow + getPageSize();
     }
 
     public int getFirstPage() {

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractColumn.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractColumn.java?view=diff&rev=126635&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractColumn.java&r1=126634&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractColumn.java&r2=126635
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractColumn.java
   (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractColumn.java
   Thu Jan 27 10:38:46 2005
@@ -90,7 +90,13 @@
             assert renderState == ColumnsModel.DATA_RENDER_STATE ||
                 renderState == ColumnsModel.HEADER_RENDER_STATE;
 
-            CellModel model = internalGetCellModel();
+            CellModel model = null;
+
+            if(renderState == ColumnsModel.HEADER_RENDER_STATE)
+                model = internalGetHeaderCellModel();
+            else if(renderState == ColumnsModel.DATA_RENDER_STATE)
+                model = internalGetCellModel();
+
             model.setDataGridModel(dataGridModel);
             model.setColumnsModel(columns);
 
@@ -101,21 +107,26 @@
             StringBuilder content = new StringBuilder();
             AbstractRenderAppender appender = new 
StringBuilderRenderAppender(content);
 
-            if(renderState == ColumnsModel.HEADER_RENDER_STATE)
+            if(renderState == ColumnsModel.HEADER_RENDER_STATE) {
                 renderHeaderCell(appender);
-            else if(renderState == ColumnsModel.DATA_RENDER_STATE)
+            }
+            else if(renderState == ColumnsModel.DATA_RENDER_STATE) {
                 renderDataCell(appender);
+            }
+            else assert false;
+
+            DataGridUtil.removeColumnModel(getJspContext());
 
             if(content != null && content.length() > 0)
                 getJspContext().getOut().println(content.toString());
-
-            DataGridUtil.removeColumnModel(getJspContext());
         }
 
         return;
     }
 
     protected abstract CellModel internalGetCellModel();
+
+    protected abstract CellModel internalGetHeaderCellModel();
 
     protected abstract void renderHeaderCell(AbstractRenderAppender appender) 
throws IOException, JspException;
 

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractHtmlColumn.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractHtmlColumn.java?view=diff&rev=126635&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractHtmlColumn.java&r1=126634&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractHtmlColumn.java&r2=126635
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractHtmlColumn.java
       (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractHtmlColumn.java
       Thu Jan 27 10:38:46 2005
@@ -24,6 +24,7 @@
 import javax.servlet.jsp.JspException;
 
 import org.apache.beehive.netui.databinding.datagrid.model.DataGridModel;
+import org.apache.beehive.netui.databinding.datagrid.model.CellModel;
 import org.apache.beehive.netui.databinding.datagrid.model.sort.SortModel;
 import 
org.apache.beehive.netui.databinding.datagrid.model.cell.HeaderCellModel;
 import 
org.apache.beehive.netui.databinding.datagrid.rendering.table.TableRenderer;
@@ -598,6 +599,7 @@
     protected void renderHeaderCellContents(AbstractRenderAppender appender)
         throws IOException, JspException {
 
+
         JspFragment fragment = getJspBody();
         StringWriter sw = new StringWriter();
         String bodyContent = null;
@@ -616,6 +618,10 @@
 
     protected abstract void renderDataCellContents(AbstractRenderAppender 
appender, String output)
         throws IOException, JspException;
+
+    protected CellModel internalGetHeaderCellModel() {
+        return _headerCellModel;
+    }
 
     protected void applyAttributes()
         throws JspException {

Reply via email to