Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/ImageAnchorCell.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/ImageAnchorCell.java?rev=170300&r1=170299&r2=170300&view=diff
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/ImageAnchorCell.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/ImageAnchorCell.java
 Sun May 15 21:20:54 2005
@@ -35,6 +35,18 @@
 
 /**
  * <p>
+ * This tag is a data grid cell used to render an HTML image inside of an 
anchor.  This tag should be used
+ * inside of a &lt;netui-data:rows&gt; tag when rendering a data set with the 
&lt;netui-data:dataGrid&gt; tag.
+ * The rendered output is structured as:
+ * <pre>
+ *   <a ...><img .../></a>
+ * </pre>
+ * If the [EMAIL PROTECTED] #setHref(String)} attribute is set, the href will 
be rendered on the anchor.  If the [EMAIL PROTECTED] #setAction(String)}
+ * attribute is set, it must reference an action that is valid in the context 
of the current Page Flow.  Only
+ * one of these two attributes may be set. The image source to render on the 
image tag is specified using the
+ * [EMAIL PROTECTED] #setSrc(String)} attribute.
+ * </p>
+ * <p>
  * The set of JSP implicit objects available to the body include:
  * <ul>
  * <li><code>dataGridModel</code> -- the [EMAIL PROTECTED] 
org.apache.beehive.netui.databinding.datagrid.api.rendering.DataGridTagModel}
@@ -45,6 +57,7 @@
  * </p>
  *
  * @jsptagref.tagdescription
+ *
  * @netui:tag name="imageAnchorCell" body-content="scriptless"
  *            description="Renders an HTML table cell in a data grid that 
contains an HTML image inside of an anchor."
  */
@@ -567,6 +580,25 @@
         applyIndexedTagId(_anchorState, tagId);
     }
 
+    /**
+     * <p>
+     * Implementation of the [EMAIL PROTECTED] 
org.apache.beehive.netui.tags.IAttributeConsumer} interface.  This
+     * allows users of this tag to extend the attribute set that is rendered 
by the HTML image or
+     * anchor tags.  This method accepts the following facets:
+     * <table>
+     * <tr><td>Facet Name</td><td>Operation</td></tr>
+     * <tr><td><code>anchor</code></td><td>Adds an attribute with the provided 
<code>name</code> and <code>value</code> to the
+     * attributes rendered on the &lt;a&gt; tag.</td></tr>
+     * <tr><td><code>image</code></td><td>Adds an attribute with the provided 
<code>name</code> and <code>value</code> to the
+     * attributes rendered on the &lt;img&gt; tag.</td></tr>
+     * </table>
+     * This tag defaults to the setting attributes on the anchor when the 
facet name is unset.
+     * </p>
+     * @param name the name of the attribute
+     * @param value the value of the attribute
+     * @param facet the facet for the attribute
+     * @throws JspException thrown when the facet is not recognized
+     */
     public void setAttribute(String name, String value, String facet)
             throws JspException {
         if(facet == null || facet.equals(ANCHOR_FACET_NAME))
@@ -577,11 +609,37 @@
             super.setAttribute(name, value, facet);
     }
 
+    /**
+     * <p>
+     * Implementation of the [EMAIL PROTECTED] IUrlParams} interface.  This 
allows this tag to accept &lt;netui:parameter&gt;
+     * and &lt;netui:parameterMap&gt; in order to add URL parameters onto the 
rendered anchor.  For example:
+     * <pre>
+     *   <netui-data:imageAnchorCell href="foo.jsp" src="foo.png">
+     *       <netui:parameter name="paramKey" value="paramValue"/>
+     *   </netui-data:anchorCell>
+     * </pre>
+     * will render an HTML image anchor as:
+     * <pre>
+     *   <a href="foo.jsp?paramKey=paramValue><img src="foo.png"/></a>
+     * </pre>
+     * </p>
+     * @param name the name of the parameter
+     * @param value the value of the parameter
+     * @param facet the facet for the parameter
+     * @throws JspException thrown when the facet is unsupported
+     */
     public void addParameter(String name, Object value, String facet)
             throws JspException {
         ParamHelper.addParam(_imageAnchorCellModel.getParams(), name, value);
     }
 
+    /**
+     * Render the contents of the HTML anchor and image.  This method calls to 
an
+     * [EMAIL PROTECTED] 
org.apache.beehive.netui.databinding.datagrid.api.rendering.CellDecorator} 
associated with this tag.
+     * The result of renderingi is appended to the <code>appender</code>
+     * @param appender the [EMAIL PROTECTED] AbstractRenderAppender} to which 
output should be rendered
+     * @param jspFragmentOutput the result of having evaluated this tag's 
[EMAIL PROTECTED] javax.servlet.jsp.tagext.JspFragment}
+     */
     protected void renderDataCellContents(AbstractRenderAppender appender, 
String jspFragmentOutput) {
         assert DECORATOR != null;
         assert appender != null;
@@ -616,4 +674,4 @@
     protected CellModel internalGetCellModel() {
         return _imageAnchorCellModel;
     }
-}
+}
\ No newline at end of file

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Row.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Row.java?rev=170300&r1=170299&r2=170300&view=diff
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Row.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Row.java
 Sun May 15 21:20:54 2005
@@ -37,8 +37,59 @@
 import org.apache.beehive.netui.util.internal.InternalStringBuilder;
 
 /**
- * @jsptagref.tagdescription Sets HTML attributes on data grid table rows.
- * @netui:tag name="row" body-content="scriptless" description="Sets HTML 
attributes on data grid table rows"
+ * <p>
+ * This tag is optionally used to render HTML table roe tags inside of one of 
the data grid tags that
+ * are used to denote data grid row rendering boundaries.  When the [EMAIL 
PROTECTED] Header}, [EMAIL PROTECTED] Rows}, or [EMAIL PROTECTED] Footer}
+ * have their <code>renderRow</code> attribute set to <code>false</code>, no 
HTML table row element will render
+ * before starting to render the body of one of these tags.  This tag should 
be used when <code>renderRows</code>
+ * is <code>false</code> in order to render an HTML table row.  The Row tag is 
used this way in order to
+ * allow a page author to set JSP tag attributes that can configure each 
rendered table row differently.
+ * For example:
+ * <pre>
+ *   <netui-data:rows renderRows="false">
+ *     <netui-data:row styleClass="rowStyle${container.index}">
+ *       <netui-data:spanCell value="${container.item}"/>
+ *     </netui-data:row>
+ *   </netui-data:rows>
+ * </pre>
+ * and a data set containing ["foo", "bar", "baz"] will render:
+ * <pre>
+ *   <tr class="rowStyle0">foo</tr>
+ *   <tr class="rowStyle1">bar</tr>
+ *   <tr class="rowStyle2">baz</tr>
+ * </pre>
+ * If the &lt;netui-data:row$gt; were omitted, none of the &lt;tr&gt; elements 
would be rendered in the output.  Note,
+ * this tag <b>should not</b> be used inside of the Header, Rows, or Footer 
tags unless their <code>renderRow</code>
+ * attribute is set to <code>false</code>
+ * </p>
+ * @jsptagref.tagdescription
+ * <p>
+ * This tag is optionally used to render HTML table roe tags inside of one of 
the data grid tags that
+ * are used to denote data grid row rendering boundaries.  When the [EMAIL 
PROTECTED] Header}, [EMAIL PROTECTED] Rows}, or [EMAIL PROTECTED] Footer}
+ * have their <code>renderRow</code> attribute set to <code>false</code>, no 
HTML table row element will render
+ * before starting to render the body of one of these tags.  This tag should 
be used when <code>renderRows</code>
+ * is <code>false</code> in order to render an HTML table row.  The Row tag is 
used this way in order to
+ * allow a page author to set JSP tag attributes that can configure each 
rendered table row differently.
+ * For example:
+ * <pre>
+ *   <netui-data:rows renderRows="false">
+ *     <netui-data:row styleClass="rowStyle${container.index}">
+ *       <netui-data:spanCell value="${container.item}"/>
+ *     </netui-data:row>
+ *   </netui-data:rows>
+ * </pre>
+ * and a data set containing ["foo", "bar", "baz"] will render:
+ * <pre>
+ *   <tr class="rowStyle0">foo</tr>
+ *   <tr class="rowStyle1">bar</tr>
+ *   <tr class="rowStyle2">baz</tr>
+ * </pre>
+ * If the &lt;netui-data:row$gt; were omitted, none of the &lt;tr&gt; elements 
would be rendered in the output.  Note,
+ * this tag <b>should not</b> be used inside of the Header, Rows, or Footer 
tags unless their <code>renderRow</code>
+ * attribute is set to <code>false</code>
+ * </p>
+ * @netui:tag name="row" body-content="scriptless"
+ *            description="Tag optionally used inside of a Header, Rows, or 
Footer tag to render HTML table row elements."
  */
 public class Row
     extends AbstractDataGridHtmlTag {
@@ -50,143 +101,133 @@
     }
 
     /**
-     * Sets the onClick JavaScript event.
+     * Sets the onClick JavaScript for the HTML tr tag.
      *
      * @param onClick the onClick event.
-     * @jsptagref.attributedescription The onClick JavaScript event.
-     * @jsptagref.databindable false
+     * @jsptagref.attributedescription The onClick JavaScript for the HTML tr 
tag.
      * @jsptagref.attributesyntaxvalue <i>string_onClick</i>
-     * @netui:attribute required="false" rtexprvalue="true" description="The 
onClick JavaScript event."
+     * @netui:attribute required="false" rtexprvalue="true" description="The 
onClick JavaScript for the HTML tr tag."
      */
     public void setOnClick(String onClick) {
         _trState.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, 
HtmlConstants.ONCLICK, onClick);
     }
 
     /**
-     * Sets the onDblClick JavaScript event.
+     * Sets the onDblClick JavaScript for the HTML tr tag.
      *
      * @param onDblClick the onDblClick event.
-     * @jsptagref.attributedescription The onDblClick JavaScript event.
-     * @jsptagref.databindable false
+     * @jsptagref.attributedescription The onDblClick JavaScript for the HTML 
tr tag.
      * @jsptagref.attributesyntaxvalue <i>string_onDblClick</i>
-     * @netui:attribute required="false" rtexprvalue="true" description="The 
onDblClick JavaScript event."
+     * @netui:attribute required="false" rtexprvalue="true" description="The 
onDblClick JavaScript for the HTML tr tag."
      */
     public void setOnDblClick(String onDblClick) {
         _trState.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, 
HtmlConstants.ONDBLCLICK, onDblClick);
     }
 
     /**
-     * Sets the onKeyDown JavaScript event.
+     * Sets the onKeyDown JavaScript for the HTML tr tag.
      *
      * @param onKeyDown the onKeyDown event.
-     * @jsptagref.attributedescription The onKeyDown JavaScript event.
-     * @jsptagref.databindable false
+     * @jsptagref.attributedescription The onKeyDown JavaScript for the HTML 
tr tag.
      * @jsptagref.attributesyntaxvalue <i>string_onKeyDown</i>
-     * @netui:attribute required="false" rtexprvalue="true" description="The 
onKeyDown JavaScript event."
+     * @netui:attribute required="false" rtexprvalue="true" description="The 
onKeyDown JavaScript for the HTML tr tag."
      */
     public void setOnKeyDown(String onKeyDown) {
         _trState.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, 
HtmlConstants.ONKEYDOWN, onKeyDown);
     }
 
     /**
-     * Sets the onKeyUp JavaScript event.
+     * Sets the onKeyUp JavaScript for the HTML tr tag.
      *
      * @param onKeyUp the onKeyUp event.
-     * @jsptagref.attributedescription The onKeyUp JavaScript event.
-     * @jsptagref.databindable false
+     * @jsptagref.attributedescription The onKeyUp JavaScript for the HTML tr 
tag.
      * @jsptagref.attributesyntaxvalue <i>string_onKeyUp</i>
-     * @netui:attribute required="false" rtexprvalue="true" description="The 
onKeyUp JavaScript event."
+     * @netui:attribute required="false" rtexprvalue="true" description="The 
onKeyUp JavaScript for the HTML tr tag."
      */
     public void setOnKeyUp(String onKeyUp) {
         _trState.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, 
HtmlConstants.ONKEYUP, onKeyUp);
     }
 
     /**
-     * Sets the onKeyPress JavaScript event.
+     * Sets the onKeyPress JavaScript for the HTML tr tag.
      *
      * @param onKeyPress the onKeyPress event.
-     * @jsptagref.attributedescription The onKeyPress JavaScript event.
-     * @jsptagref.databindable false
+     * @jsptagref.attributedescription The onKeyPress JavaScript for the HTML 
tr tag.
      * @jsptagref.attributesyntaxvalue <i>string_onKeyPress</i>
-     * @netui:attribute required="false" rtexprvalue="true" description="The 
onKeyPress JavaScript event."
+     * @netui:attribute required="false" rtexprvalue="true" description="The 
onKeyPress JavaScript for the HTML tr tag."
      */
     public void setOnKeyPress(String onKeyPress) {
         _trState.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, 
HtmlConstants.ONKEYPRESS, onKeyPress);
     }
 
     /**
-     * Sets the onMouseDown JavaScript event.
+     * Sets the onMouseDown JavaScript for the HTML tr tag.
      *
      * @param onMouseDown the onMouseDown event.
-     * @jsptagref.attributedescription The onMouseDown JavaScript event.
-     * @jsptagref.databindable false
+     * @jsptagref.attributedescription The onMouseDown JavaScript for the HTML 
tr tag.
      * @jsptagref.attributesyntaxvalue <i>string_onMouseDown</i>
-     * @netui:attribute required="false" rtexprvalue="true" description="The 
onMouseDown JavaScript event."
+     * @netui:attribute required="false" rtexprvalue="true" description="The 
onMouseDown JavaScript for the HTML tr tag."
      */
     public void setOnMouseDown(String onMouseDown) {
         _trState.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, 
HtmlConstants.ONMOUSEDOWN, onMouseDown);
     }
 
     /**
-     * Sets the onMouseUp JavaScript event.
+     * Sets the onMouseUp JavaScript for the HTML tr tag.
      *
      * @param onMouseUp the onMouseUp event.
-     * @jsptagref.attributedescription The onMouseUp JavaScript event.
-     * @jsptagref.databindable false
+     * @jsptagref.attributedescription The onMouseUp JavaScript for the HTML 
tr tag.
      * @jsptagref.attributesyntaxvalue <i>string_onMouseUp</i>
-     * @netui:attribute required="false" rtexprvalue="true" description="The 
onMouseUp JavaScript event."
+     * @netui:attribute required="false" rtexprvalue="true" description="The 
onMouseUp JavaScript for the HTML tr tag."
      */
     public void setOnMouseUp(String onMouseUp) {
         _trState.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, 
HtmlConstants.ONMOUSEUP, onMouseUp);
     }
 
     /**
-     * Sets the onMouseMove JavaScript event.
+     * Sets the onMouseMove JavaScript for the HTML tr tag.
      *
      * @param onMouseMove the onMouseMove event.
-     * @jsptagref.attributedescription The onMouseMove JavaScript event.
-     * @jsptagref.databindable false
+     * @jsptagref.attributedescription The onMouseMove JavaScript for the HTML 
tr tag.
      * @jsptagref.attributesyntaxvalue <i>string_onMouseMove</i>
-     * @netui:attribute required="false" rtexprvalue="true" description="The 
onMouseMove JavaScript event."
+     * @netui:attribute required="false" rtexprvalue="true" description="The 
onMouseMove JavaScript for the HTML tr tag."
      */
     public void setOnMouseMove(String onMouseMove) {
         _trState.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, 
HtmlConstants.ONMOUSEMOVE, onMouseMove);
     }
 
     /**
-     * Sets the onMouseOut JavaScript event.
+     * Sets the onMouseOut JavaScript for the HTML tr tag.
      *
      * @param onMouseOut the onMouseOut event.
-     * @jsptagref.attributedescription The onMouseOut JavaScript event.
-     * @jsptagref.databindable false
+     * @jsptagref.attributedescription The onMouseOut JavaScript for the HTML 
tr tag.
      * @jsptagref.attributesyntaxvalue <i>string_onMouseOut</i>
-     * @netui:attribute required="false" rtexprvalue="true" description="The 
onMouseOut JavaScript event."
+     * @netui:attribute required="false" rtexprvalue="true" description="The 
onMouseOut JavaScript for the HTML tr tag."
      */
     public void setOnMouseOut(String onMouseOut) {
         _trState.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, 
HtmlConstants.ONMOUSEOUT, onMouseOut);
     }
 
     /**
-     * Sets the onMouseOver JavaScript event.
+     * Sets the onMouseOver JavaScript for the HTML tr tag.
      *
      * @param onMouseOver the onMouseOver event.
-     * @jsptagref.attributedescription The onMouseOver JavaScript event.
-     * @jsptagref.databindable false
+     * @jsptagref.attributedescription The onMouseOver JavaScript for the HTML 
tr tag.
      * @jsptagref.attributesyntaxvalue <i>string_onMouseOver</i>
-     * @netui:attribute required="false" rtexprvalue="true" description="The 
onMouseOver JavaScript event."
+     * @netui:attribute required="false" rtexprvalue="true" description="The 
onMouseOver JavaScript for the HTML tr tag."
      */
     public void setOnMouseOver(String onMouseOver) {
         _trState.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, 
HtmlConstants.ONMOUSEOVER, onMouseOver);
     }
 
     /**
-     * Sets the style of the rendered html tag.
+     * Sets the style attribute for the HTML tr tag.
      *
-     * @param style the html style.
-     * @jsptagref.attributedescription The style.
-     * @jsptagref.databindable false
+     * @param style the style
+     * @jsptagref.attributedescription The style attribute for the HTML tr tag.
      * @jsptagref.attributesyntaxvalue <i>string_style</i>
-     * @netui:attribute required="false"  rtexprvalue="true" description="The 
style."
+     * @netui:attribute required="false"  rtexprvalue="true"
+     *                  description="The style attribute for the HTML tr tag."
      */
     public void setStyle(String style) {
         if("".equals(style)) return;
@@ -195,13 +236,12 @@
     }
 
     /**
-     * Sets the style class of the rendered html tag.
+     * Sets the style class for the HTML tr tag.
      *
-     * @param styleClass the html style class.
-     * @jsptagref.attributedescription The style class.
-     * @jsptagref.databindable false
+     * @param styleClass the style class.
+     * @jsptagref.attributedescription The style class for the HTML tr tag.
      * @jsptagref.attributesyntaxvalue <i>string_style_class</i>
-     * @netui:attribute required="false"  rtexprvalue="true" description="The 
style class."
+     * @netui:attribute required="false"  rtexprvalue="true" description="The 
style class for the HTML tr tag."
      */
     public void setStyleClass(String styleClass) {
         if("".equals(styleClass)) return;
@@ -210,26 +250,24 @@
     }
 
     /**
-     * Sets the value of the title attribute.
+     * Sets the title attribute for the HTML tr tag.
      *
-     * @param title
-     * @jsptagref.attributedescription The title.
-     * @jsptagref.databindable false
+     * @param title the title
+     * @jsptagref.attributedescription The title for the HTML tr tag.
      * @jsptagref.attributesyntaxvalue <i>string_title</i>
-     * @netui:attribute required="false" rtexprvalue="true" description="The 
title. "
+     * @netui:attribute required="false" rtexprvalue="true" description="The 
title for the HTML tr tag."
      */
     public void setTitle(String title) {
         _trState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, 
HtmlConstants.TITLE, title);
     }
 
     /**
-     * Sets the lang attribute for the HTML element.
-     * @param lang
-     * @jsptagref.attributedescription The lang.
-     * @jsptagref.databindable false
+     * Sets the lang attribute for the HTML tr tag.
+     * @param lang the lang
+     * @jsptagref.attributedescription The lang for the HTML tr tag.
      * @jsptagref.attributesyntaxvalue <i>string_lang</i>
      * @netui:attribute required="false" rtexprvalue="true"
-     * description="The lang."
+     * description="The lang for the HTML tr tag."
      */
     public void setLang(String lang)
     {
@@ -237,13 +275,12 @@
     }
 
     /**
-     * Sets the lang attribute for the HTML element.
-     * @param dir
-     * @jsptagref.attributedescription The dir.
-     * @jsptagref.databindable false
+     * Sets the lang attribute for the HTML element tr tag.
+     * @param dir the dir
+     * @jsptagref.attributedescription The dir for the HTML tr tag.
      * @jsptagref.attributesyntaxvalue <i>string_dir</i>
      * @netui:attribute required="false" rtexprvalue="true"
-     * description="The dir."
+     * description="The dir for the HTML tr tag.
      */
     public void setDir(String dir)
     {
@@ -251,14 +288,13 @@
     }
 
     /**
-     * Set the name of the tagId for the table row.
+     * Set the name of the tagId for the HTML tr tag.
      *
      * @param tagId the the name of the tagId for the table row.
-     * @jsptagref.attributedescription The tagId.
-     * @jsptagref.databindable false
+     * @jsptagref.attributedescription The tagId for the HTML tr tat.
      * @jsptagref.attributesyntaxvalue <i>string_tagId</i>
      * @netui:attribute required="false" rtexprvalue="true"
-     * description="String value. Sets the id (or name) attribute of the 
rendered HTML tag. "
+     * description="String value. Sets the id (or name) attribute of the HTML 
tr tag."
      */
     public void setTagId(String tagId)
         throws JspException {
@@ -274,6 +310,31 @@
         else applyTagId(_trState, tagId);
     }
 
+    /**
+     * <p>
+     * Render this tag.  This tag renders during the data grid's [EMAIL 
PROTECTED] DataGridTagModel#RENDER_STATE_HEADER},
+     * [EMAIL PROTECTED] DataGridTagModel#RENDER_STATE_GRID}, and the [EMAIL 
PROTECTED] DataGridTagModel#RENDER_STATE_FOOTER} render
+     * states.  This tag will always render the an HTML table row tag and its 
body.  The result is added
+     * to the output stream.
+     * </p>
+     * <p>
+     * Unless the [EMAIL PROTECTED] #setStyleClass(String)} attribute has been 
set and is non-null, the following style
+     * classes are used during the various supported rendering states:
+     * <table>
+     * <tr><td>Render State</td><td>Style Class</td></tr>
+     * <tr><td>[EMAIL PROTECTED] DataGridTagModel#RENDER_STATE_HEADER}</td>
+     * <td>[EMAIL PROTECTED] 
org.apache.beehive.netui.databinding.datagrid.api.rendering.StyleModel#getHeaderRowClass()}</td></tr>
+     * <tr><td>[EMAIL PROTECTED] DataGridTagModel#RENDER_STATE_GRID}</td>
+     * <td>[EMAIL PROTECTED] 
org.apache.beehive.netui.databinding.datagrid.api.rendering.StyleModel#getRowClass()}
 for
+     * an even row [EMAIL PROTECTED] 
org.apache.beehive.netui.databinding.datagrid.api.rendering.StyleModel#getAltRowClass()}
+     * for odd rows.</td></tr>
+     * <tr><td>[EMAIL PROTECTED] DataGridTagModel#RENDER_STATE_FOOTER}</td>
+     * <td>[EMAIL PROTECTED] 
org.apache.beehive.netui.databinding.datagrid.api.rendering.StyleModel#getFooterRowClass()}</td></tr>
+     * </table>
+     * </p>
+     * @throws JspException when the [EMAIL PROTECTED] DataGridTagModel} can 
not be found in the [EMAIL PROTECTED] JspContext}
+     * @throws IOException
+     */
     public void doTag()
         throws JspException, IOException {
 
@@ -301,17 +362,19 @@
         InternalStringBuilder content = new InternalStringBuilder();
         AbstractRenderAppender appender = new 
StringBuilderRenderAppender(content);
 
-        if(renderState == DataGridTagModel.RENDER_STATE_GRID) {
-            int index = dataGridModel.getCurrentIndex();
-            if(index % 2 == 0)
-                _trState.styleClass = styleModel.getRowClass();
-            else _trState.styleClass = styleModel.getAltRowClass();
+        if(_trState.styleClass == null) {
+            if(renderState == DataGridTagModel.RENDER_STATE_GRID) {
+                int index = dataGridModel.getCurrentIndex();
+                if(index % 2 == 0)
+                    _trState.styleClass = styleModel.getRowClass();
+                else _trState.styleClass = styleModel.getAltRowClass();
+            }
+            else if(renderState == DataGridTagModel.RENDER_STATE_HEADER)
+                _trState.styleClass = styleModel.getHeaderRowClass();
+            else if(renderState == DataGridTagModel.RENDER_STATE_FOOTER)
+                _trState.styleClass = styleModel.getFooterRowClass();
+            else assert false : "Attempting to apply style information during 
an invalid render state";
         }
-        else if(renderState == DataGridTagModel.RENDER_STATE_HEADER)
-            _trState.styleClass = styleModel.getHeaderRowClass();
-        else if(renderState == DataGridTagModel.RENDER_STATE_FOOTER)
-            _trState.styleClass = styleModel.getFooterRowClass();
-        else assert false : "Attempting to apply style information during an 
invalid render state";
 
         String trScript = null;
         if(_trState.id != null)

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/TemplateCell.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/TemplateCell.java?rev=170300&r1=170299&r2=170300&view=diff
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/TemplateCell.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/TemplateCell.java
 Sun May 15 21:20:54 2005
@@ -50,8 +50,36 @@
  * The HTML events, core attributes, and internationalization JSP tag 
attributes are applied to the
  * &lt;td&gt;.
  * </p>
- *  *
+ *
  * @jsptagref.tagdescription
+ * <p>
+ * Data grid cell that renders the content contained inside of its body inside 
of an HTML &lt;td&gt;
+ * tag.  The body of the template cell can contain any JSP markup that is 
legal to nest inside of
+ * a [EMAIL PROTECTED] javax.servlet.jsp.tagext.SimpleTag}.
+ * </p>
+ * <p>
+ * The templateCell can be used to render HTML UI that is not supported with 
other data grid cell types.  For example,
+ * to build UI that will POST data to a form, the NetUI [EMAIL PROTECTED] 
org.apache.beehive.netui.tags.html.TextBox} tag can
+ * be used as:
+ * <pre>
+ *     <netui-data:templateCell>
+ *          <netui:textBox dataSource="container.item.name"/>
+ *     </netui-data:templateCell>
+ * </pre>
+ * </p>
+ * <p>
+ * The set of JSP implicit objects available to the body include:
+ * <ul>
+ * <li><code>dataGridModel</code> -- the [EMAIL PROTECTED] 
org.apache.beehive.netui.databinding.datagrid.api.rendering.DataGridTagModel}
+ * for the cell's containing data grid.</li>
+ * <li><code>container</code> -- the [EMAIL PROTECTED] 
org.apache.beehive.netui.script.common.IDataAccessProvider} instance
+ * that exposes the current data item and the current item's index</li>
+ * </ul>
+ * </p>
+ * <p>
+ * The HTML events, core attributes, and internationalization JSP tag 
attributes are applied to the
+ * &lt;td&gt;.
+ * </p>
  *
  * @netui:tag name="templateCell" description="Data grid cell that renders the 
content resulting from evaluating its body"
  * body-content="scriptless"


Reply via email to