You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2007/08/29 21:18:53 UTC

svn commit: r570902 [1/2] - in /myfaces/tobago/trunk: core/src/main/java/org/apache/myfaces/tobago/ core/src/main/java/org/apache/myfaces/tobago/component/ core/src/main/java/org/apache/myfaces/tobago/renderkit/html/ core/src/main/java/org/apache/myfac...

Author: lofwyr
Date: Wed Aug 29 12:18:48 2007
New Revision: 570902

URL: http://svn.apache.org/viewvc?rev=570902&view=rev
Log:
TOBAGO-465 tabindex
and fix layout warning for Extension-Tags with Label

Modified:
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/TobagoConstants.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIButtonCommand.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIDatePicker.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIFileInput.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIInput.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UILinkCommand.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UISelectBoolean.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UISelectMany.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UISelectOne.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UITimeInput.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UITreeOld.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlAttributes.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ButtonTag.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ButtonTagDeclaration.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/DatePickerTag.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/DatePickerTagDeclaration.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/FileTagDeclaration.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/InputTag.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/InputTagDeclaration.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/LinkTag.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/LinkTagDeclaration.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectBooleanCheckboxTagDeclaration.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectManyTag.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/TreeOldTag.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/TreeOldTagDeclaration.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/DateExtensionTag.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/FileExtensionTag.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/InExtensionTag.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/LabelExtensionTag.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectBooleanCheckboxExtensionTag.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectManyListboxExtensionTag.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectOneChoiceExtensionTag.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectOneListboxExtensionTag.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/TextAreaExtensionTag.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/TimeExtensionTag.java
    myfaces/tobago/trunk/example/demo/src/main/webapp/overview/basic.jsp
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ButtonRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/FileRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/LinkRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SelectBooleanCheckboxRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SelectManyCheckboxRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SelectManyListboxRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SelectOneChoiceRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SelectOneListboxRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SelectOneRadioRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TextAreaRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TimeRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeOldNodeRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/resources/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/script/tree.js

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/TobagoConstants.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/TobagoConstants.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/TobagoConstants.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/TobagoConstants.java Wed Aug 29 12:18:48 2007
@@ -80,6 +80,7 @@
   public static final String ATTR_MARGIN_LEFT = "marginLeft";
   public static final String ATTR_MARGIN_RIGHT = "marginRight";
   public static final String ATTR_MARGIN_TOP = "marginTop";
+  public static final String ATTR_MARKED = "marked";
   public static final String ATTR_MODAL = "modal";
   public static final String ATTR_LAYOUT_ORDER = "layoutOrder";
   //public static final String ATTR_LAYOUT_TABLE_STYLE = "layoutTableStyle";
@@ -173,6 +174,7 @@
   public static final String ATTR_WIDTH_LIST_STRING = "widthListString";
   public static final String ATTR_APPLICATION_ICON = "applicationIcon";
   public static final String ATTR_VALIDATOR = "validator";
+  public static final String ATTR_TAB_INDEX = "tabIndex";
 
   public static final String FACET_ACTION = "action";
   public static final String FACET_CONFIRMATION = "confirmation";

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIButtonCommand.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIButtonCommand.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIButtonCommand.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIButtonCommand.java Wed Aug 29 12:18:48 2007
@@ -17,7 +17,10 @@
  * limitations under the License.
  */
 
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_TAB_INDEX;
+
 import javax.faces.context.FacesContext;
+import javax.faces.el.ValueBinding;
 
 /*
  * Created by IntelliJ IDEA.
@@ -30,18 +33,21 @@
   public static final String COMPONENT_TYPE = "org.apache.myfaces.tobago.ButtonCommand";
 
   private String[] markup;
+  private Integer tabIndex;
 
   public void restoreState(FacesContext context, Object state) {
     Object[] values = (Object[]) state;
     super.restoreState(context, values[0]);
 
     markup = (String[]) values[1];
+    tabIndex = (Integer) values[2];
   }
 
   public Object saveState(FacesContext context) {
-    Object[] values = new Object[2];
+    Object[] values = new Object[3];
     values[0] = super.saveState(context);
     values[1] = markup;
+    values[2] = tabIndex;
     return values;
   }
 
@@ -55,4 +61,21 @@
   public void setMarkup(String[] markup) {
     this.markup = markup;
   }
+
+  public Integer getTabIndex() {
+    if (tabIndex != null) {
+      return tabIndex;
+    }
+    ValueBinding vb = getValueBinding(ATTR_TAB_INDEX);
+    if (vb != null) {
+      return (Integer)vb.getValue(getFacesContext());
+    } else {
+      return null;
+    }
+  }
+
+  public void setTabIndex(Integer tabIndex) {
+    this.tabIndex = tabIndex;
+  }
+
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIDatePicker.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIDatePicker.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIDatePicker.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIDatePicker.java Wed Aug 29 12:18:48 2007
@@ -50,10 +50,9 @@
  * Date: 30.05.2006
  * Time: 19:22:40
  */
-public class UIDatePicker extends UICommand implements OnComponentCreated {
+public class UIDatePicker extends UILinkCommand implements OnComponentCreated {
 
-  public static final String COMPONENT_TYPE =
-      "org.apache.myfaces.tobago.DatePicker";
+  public static final String COMPONENT_TYPE = "org.apache.myfaces.tobago.DatePicker";
 
   private String forComponent;
 

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIFileInput.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIFileInput.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIFileInput.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIFileInput.java Wed Aug 29 12:18:48 2007
@@ -17,13 +17,15 @@
  * limitations under the License.
  */
 
+import org.apache.commons.fileupload.FileItem;
 import static org.apache.myfaces.tobago.TobagoConstants.ATTR_ENCTYPE;
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_TAB_INDEX;
 import org.apache.myfaces.tobago.util.MessageFactory;
-import org.apache.commons.fileupload.FileItem;
 
+import javax.faces.application.FacesMessage;
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
-import javax.faces.application.FacesMessage;
+import javax.faces.el.ValueBinding;
 
 /*
  * Date: 10.02.2006
@@ -32,6 +34,8 @@
 public class UIFileInput extends javax.faces.component.UIInput {
   public static final String COMPONENT_TYPE = "org.apache.myfaces.tobago.FileInput";
 
+  private Integer tabIndex;
+
   public void setParent(UIComponent uiComponent) {
     super.setParent(uiComponent);
     UIPage form = ComponentUtil.findPage(getFacesContext(), uiComponent);
@@ -60,5 +64,34 @@
     FacesMessage facesMessage = MessageFactory.createFacesMessage(
         facesContext, REQUIRED_MESSAGE_ID, FacesMessage.SEVERITY_ERROR);
     facesContext.addMessage(getClientId(facesContext), facesMessage);
+  }
+
+  public void restoreState(FacesContext context, Object state) {
+    Object[] values = (Object[]) state;
+    super.restoreState(context, values[0]);
+    tabIndex = (Integer) values[1];
+  }
+
+  public Object saveState(FacesContext context) {
+    Object[] values = new Object[2];
+    values[0] = super.saveState(context);
+    values[1] = tabIndex;
+    return values;
+  }
+
+  public Integer getTabIndex() {
+    if (tabIndex != null) {
+      return tabIndex;
+    }
+    ValueBinding vb = getValueBinding(ATTR_TAB_INDEX);
+    if (vb != null) {
+      return (Integer)vb.getValue(getFacesContext());
+    } else {
+      return null;
+    }
+  }
+
+  public void setTabIndex(Integer tabIndex) {
+    this.tabIndex = tabIndex;
   }
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIInput.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIInput.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIInput.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIInput.java Wed Aug 29 12:18:48 2007
@@ -19,12 +19,13 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_DISABLED;
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_PASSWORD;
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_READONLY;
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_TAB_INDEX;
 import org.apache.myfaces.tobago.ajax.api.AjaxComponent;
 import org.apache.myfaces.tobago.ajax.api.AjaxPhaseListener;
 import org.apache.myfaces.tobago.ajax.api.AjaxUtils;
-import static org.apache.myfaces.tobago.TobagoConstants.ATTR_READONLY;
-import static org.apache.myfaces.tobago.TobagoConstants.ATTR_DISABLED;
-import static org.apache.myfaces.tobago.TobagoConstants.ATTR_PASSWORD;
 
 import javax.faces.context.FacesContext;
 import javax.faces.el.MethodBinding;
@@ -41,6 +42,7 @@
   private Boolean password;
   private String[] markup;
   private javax.faces.el.MethodBinding suggestMethod;
+  private Integer tabIndex;
 
   public void restoreState(FacesContext context, Object state) {
     Object[] values = (Object[]) state;
@@ -50,16 +52,18 @@
     password = (Boolean) values[3];
     markup = (String[]) values[4];
     disabled = (Boolean) values[5];
+    tabIndex = (Integer) values[6];
   }
 
   public Object saveState(FacesContext context) {
-    Object[] values = new Object[6];
+    Object[] values = new Object[7];
     values[0] = super.saveState(context);
     values[1] = saveAttachedState(context, suggestMethod);
     values[2] = readonly;
     values[3] = password;
     values[4] = markup;
     values[5] = disabled;
+    values[6] = tabIndex;
     return values;
   }
 
@@ -133,6 +137,21 @@
     this.suggestMethod = suggestMethod;
   }
 
+  public Integer getTabIndex() {
+    if (tabIndex != null) {
+      return tabIndex;
+    }
+    ValueBinding vb = getValueBinding(ATTR_TAB_INDEX);
+    if (vb != null) {
+      return (Integer)vb.getValue(getFacesContext());
+    } else {
+      return null;
+    }
+  }
+
+  public void setTabIndex(Integer tabIndex) {
+    this.tabIndex = tabIndex;
+  }
 
   // TODO can this removed?
   public void updateModel(FacesContext facesContext) {
@@ -160,4 +179,5 @@
       AjaxUtils.processAjaxOnChildren(facesContext, this);
     }
   }
+
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UILinkCommand.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UILinkCommand.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UILinkCommand.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UILinkCommand.java Wed Aug 29 12:18:48 2007
@@ -17,7 +17,10 @@
  * limitations under the License.
  */
 
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_TAB_INDEX;
+
 import javax.faces.context.FacesContext;
+import javax.faces.el.ValueBinding;
 
 /*
  * Created by IntelliJ IDEA.
@@ -30,17 +33,20 @@
   public static final String COMPONENT_TYPE = "org.apache.myfaces.tobago.LinkCommand";
 
   private String[] markup;
+  private Integer tabIndex;
 
   public void restoreState(FacesContext context, Object state) {
     Object[] values = (Object[]) state;
     super.restoreState(context, values[0]);
     markup = (String[]) values[1];
+    tabIndex = (Integer) values[2];
   }
 
   public Object saveState(FacesContext context) {
-    Object[] values = new Object[2];
+    Object[] values = new Object[3];
     values[0] = super.saveState(context);
     values[1] = markup;
+    values[2] = tabIndex;
     return values;
   }
 
@@ -54,4 +60,21 @@
   public void setMarkup(String[] markup) {
     this.markup = markup;
   }
+
+  public Integer getTabIndex() {
+    if (tabIndex != null) {
+      return tabIndex;
+    }
+    ValueBinding vb = getValueBinding(ATTR_TAB_INDEX);
+    if (vb != null) {
+      return (Integer)vb.getValue(getFacesContext());
+    } else {
+      return null;
+    }
+  }
+
+  public void setTabIndex(Integer tabIndex) {
+    this.tabIndex = tabIndex;
+  }
+
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UISelectBoolean.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UISelectBoolean.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UISelectBoolean.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UISelectBoolean.java Wed Aug 29 12:18:48 2007
@@ -17,7 +17,10 @@
  * limitations under the License.
  */
 
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_TAB_INDEX;
+
 import javax.faces.context.FacesContext;
+import javax.faces.el.ValueBinding;
 
 /*
  * Created by IntelliJ IDEA.
@@ -30,17 +33,20 @@
   public static final String COMPONENT_TYPE = "org.apache.myfaces.tobago.SelectBoolean";
 
   private String[] markup;
+  private Integer tabIndex;
 
   public void restoreState(FacesContext context, Object state) {
     Object[] values = (Object[]) state;
     super.restoreState(context, values[0]);
     markup = (String[]) values[1];
+    tabIndex = (Integer) values[2];
   }
 
   public Object saveState(FacesContext context) {
-    Object[] values = new Object[2];
+    Object[] values = new Object[3];
     values[0] = super.saveState(context);
     values[1] = markup;
+    values[2] = tabIndex;
     return values;
   }
 
@@ -55,4 +61,19 @@
     this.markup = markup;
   }
 
+  public Integer getTabIndex() {
+    if (tabIndex != null) {
+      return tabIndex;
+    }
+    ValueBinding vb = getValueBinding(ATTR_TAB_INDEX);
+    if (vb != null) {
+      return (Integer)vb.getValue(getFacesContext());
+    } else {
+      return null;
+    }
+  }
+
+  public void setTabIndex(Integer tabIndex) {
+    this.tabIndex = tabIndex;
+  }
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UISelectMany.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UISelectMany.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UISelectMany.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UISelectMany.java Wed Aug 29 12:18:48 2007
@@ -19,8 +19,10 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_TAB_INDEX;
 
 import javax.faces.context.FacesContext;
+import javax.faces.el.ValueBinding;
 import java.io.IOException;
 
 /*
@@ -35,17 +37,20 @@
   public static final String COMPONENT_TYPE = "org.apache.myfaces.tobago.SelectMany";
 
   private String[] markup;
+  private Integer tabIndex;
 
   public void restoreState(FacesContext context, Object state) {
     Object[] values = (Object[]) state;
     super.restoreState(context, values[0]);
     markup = (String[]) values[1];
+    tabIndex = (Integer) values[2];
   }
 
   public Object saveState(FacesContext context) {
-    Object[] values = new Object[2];
+    Object[] values = new Object[3];
     values[0] = super.saveState(context);
     values[1] = markup;
+    values[2] = tabIndex;
     return values;
   }
 
@@ -66,4 +71,21 @@
     UILayout.getLayout(this).layoutBegin(facesContext, this);
     super.encodeBegin(facesContext);
   }
+
+  public Integer getTabIndex() {
+    if (tabIndex != null) {
+      return tabIndex;
+    }
+    ValueBinding vb = getValueBinding(ATTR_TAB_INDEX);
+    if (vb != null) {
+      return (Integer)vb.getValue(getFacesContext());
+    } else {
+      return null;
+    }
+  }
+
+  public void setTabIndex(Integer tabIndex) {
+    this.tabIndex = tabIndex;
+  }
+
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UISelectOne.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UISelectOne.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UISelectOne.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UISelectOne.java Wed Aug 29 12:18:48 2007
@@ -17,10 +17,12 @@
  * limitations under the License.
  */
 
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_TAB_INDEX;
 import org.apache.myfaces.tobago.util.MessageFactory;
 
 import javax.faces.application.FacesMessage;
 import javax.faces.context.FacesContext;
+import javax.faces.el.ValueBinding;
 import java.io.IOException;
 
 /*
@@ -34,20 +36,22 @@
   public static final String MESSAGE_VALUE_REQUIRED = "tobago.SelectOne.MESSAGE_VALUE_REQUIRED";
 
   private String[] markup;
+  private Integer tabIndex;
 
   public void restoreState(FacesContext context, Object state) {
-     Object[] values = (Object[]) state;
-     super.restoreState(context, values[0]);
-     markup = (String[]) values[1];
-   }
-
-   public Object saveState(FacesContext context) {
-     Object[] values = new Object[2];
-     values[0] = super.saveState(context);
-     values[1] = markup;
-     return values;
-   }
+    Object[] values = (Object[]) state;
+    super.restoreState(context, values[0]);
+    markup = (String[]) values[1];
+    tabIndex = (Integer) values[2];
+  }
 
+  public Object saveState(FacesContext context) {
+    Object[] values = new Object[3];
+    values[0] = super.saveState(context);
+    values[1] = markup;
+    values[2] = tabIndex;
+    return values;
+  }
 
   public void encodeBegin(FacesContext facesContext) throws IOException {
     // TODO change this should be renamed to DimensionUtils.prepare!!!
@@ -78,6 +82,22 @@
 
   public void setMarkup(String[] markup) {
     this.markup = markup;
+  }
+
+  public Integer getTabIndex() {
+    if (tabIndex != null) {
+      return tabIndex;
+    }
+    ValueBinding vb = getValueBinding(ATTR_TAB_INDEX);
+    if (vb != null) {
+      return (Integer)vb.getValue(getFacesContext());
+    } else {
+      return null;
+    }
+  }
+
+  public void setTabIndex(Integer tabIndex) {
+    this.tabIndex = tabIndex;
   }
 
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UITimeInput.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UITimeInput.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UITimeInput.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UITimeInput.java Wed Aug 29 12:18:48 2007
@@ -17,11 +17,14 @@
  * limitations under the License.
  */
 
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_TAB_INDEX;
+
+import javax.faces.application.Application;
+import javax.faces.context.FacesContext;
 import javax.faces.convert.Converter;
 import javax.faces.convert.DateTimeConverter;
 import static javax.faces.convert.DateTimeConverter.CONVERTER_ID;
-import javax.faces.application.Application;
-import javax.faces.context.FacesContext;
+import javax.faces.el.ValueBinding;
 import java.util.TimeZone;
 
 /*
@@ -34,6 +37,8 @@
 
   public static final String COMPONENT_TYPE = "org.apache.myfaces.tobago.TimeInput";
 
+  private Integer tabIndex;
+
   public Converter getConverter() {
     Converter converter = super.getConverter();
     if (converter == null) {
@@ -47,5 +52,34 @@
       setConverter(dateTimeConverter);
     }
     return converter;
+  }
+
+  public void restoreState(FacesContext context, Object state) {
+    Object[] values = (Object[]) state;
+    super.restoreState(context, values[0]);
+    tabIndex = (Integer) values[1];
+  }
+
+  public Object saveState(FacesContext context) {
+    Object[] values = new Object[2];
+    values[0] = super.saveState(context);
+    values[1] = tabIndex;
+    return values;
+  }
+
+  public Integer getTabIndex() {
+    if (tabIndex != null) {
+      return tabIndex;
+    }
+    ValueBinding vb = getValueBinding(ATTR_TAB_INDEX);
+    if (vb != null) {
+      return (Integer)vb.getValue(getFacesContext());
+    } else {
+      return null;
+    }
+  }
+
+  public void setTabIndex(Integer tabIndex) {
+    this.tabIndex = tabIndex;
   }
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UITreeOld.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UITreeOld.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UITreeOld.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UITreeOld.java Wed Aug 29 12:18:48 2007
@@ -20,6 +20,7 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.myfaces.tobago.TobagoConstants;
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_TAB_INDEX;
 import org.apache.myfaces.tobago.context.ResourceManagerUtil;
 import org.apache.myfaces.tobago.model.TreeState;
 import org.apache.myfaces.tobago.taglib.component.ToolBarTag;
@@ -91,16 +92,18 @@
 
   private String mode;
 
+  private Integer tabIndex;
+
   public UITreeOld() {
     treeCommands = new UITreeOld.Command[]{
-      new UITreeOld.Command(COMMAND_NEW),
-      new UITreeOld.Command(COMMAND_DELETE),
-      new UITreeOld.Command(COMMAND_EDIT),
-      new UITreeOld.Command(COMMAND_CUT),
-      new UITreeOld.Command(COMMAND_COPY),
-      new UITreeOld.Command(COMMAND_PASTE),
-      new UITreeOld.Command(COMMAND_MOVE_UP),
-      new UITreeOld.Command(COMMAND_MOVE_DOWN),
+        new UITreeOld.Command(COMMAND_NEW),
+        new UITreeOld.Command(COMMAND_DELETE),
+        new UITreeOld.Command(COMMAND_EDIT),
+        new UITreeOld.Command(COMMAND_CUT),
+        new UITreeOld.Command(COMMAND_COPY),
+        new UITreeOld.Command(COMMAND_PASTE),
+        new UITreeOld.Command(COMMAND_MOVE_UP),
+        new UITreeOld.Command(COMMAND_MOVE_DOWN),
     };
   }
 
@@ -113,7 +116,7 @@
 
     if (binding != null) {
       FacesContext context = getFacesContext();
-      binding.invoke(context, new Object[] {event});
+      binding.invoke(context, new Object[]{event});
     }
   }
 
@@ -171,6 +174,7 @@
     }
     super.encodeBegin(facesContext);
   }
+
   // TODO move this to renderkit
   public void createDefaultToolbar(FacesContext facesContext) {
 
@@ -275,11 +279,11 @@
 
   public boolean isSelectableTree() {
     final Object selectable
-        = ComponentUtil.getAttribute(this , TobagoConstants.ATTR_SELECTABLE);
+        = ComponentUtil.getAttribute(this, TobagoConstants.ATTR_SELECTABLE);
     return selectable != null
         && (selectable.equals("multi") || selectable.equals("multiLeafOnly")
-            || selectable.equals("single") || selectable.equals("singleLeafOnly")
-            || selectable.equals("sibling") || selectable.equals("siblingLeafOnly"));
+        || selectable.equals("single") || selectable.equals("singleLeafOnly")
+        || selectable.equals("sibling") || selectable.equals("siblingLeafOnly"));
   }
 
   public void processDecodes(FacesContext facesContext) {
@@ -287,7 +291,7 @@
     if (!isRendered()) {
       return;
     }
-    
+
     if (ComponentUtil.isOutputOnly(this)) {
       setValid(true);
     } else {
@@ -352,7 +356,7 @@
   }
 
   public Object saveState(FacesContext context) {
-    Object[] state = new Object[7];
+    Object[] state = new Object[8];
     state[0] = super.saveState(context);
     state[1] = saveAttachedState(context, actionListenerBinding);
     state[2] = showJunctionsSet ? showJunctions : null;
@@ -360,6 +364,7 @@
     state[4] = showRootSet ? showRoot : null;
     state[5] = showRootJunctionSet ? showRootJunction : null;
     state[6] = mode;
+    state[7] = tabIndex;
     return state;
   }
 
@@ -384,6 +389,7 @@
       showRootJunctionSet = true;
     }
     mode = (String) values[6];
+    tabIndex = (Integer) values[7];
   }
 
   public UITreeOld.Command[] getCommands() {
@@ -392,7 +398,7 @@
 
   public TreeState getState() {
     if (treeState != null) {
-        return treeState;
+      return treeState;
     }
     ValueBinding valueBinding = getValueBinding(TobagoConstants.ATTR_STATE);
     if (valueBinding != null) {
@@ -404,8 +410,8 @@
       }
       return state;
     } else {
-        treeState = new TreeState();
-        return treeState;
+      treeState = new TreeState();
+      return treeState;
     }
   }
 
@@ -415,13 +421,13 @@
 
   public boolean isShowJunctions() {
     if (showJunctionsSet) {
-        return (showJunctions);
+      return (showJunctions);
     }
     ValueBinding vb = getValueBinding(TobagoConstants.ATTR_SHOW_JUNCTIONS);
     if (vb != null) {
-        return (!Boolean.FALSE.equals(vb.getValue(getFacesContext())));
+      return (!Boolean.FALSE.equals(vb.getValue(getFacesContext())));
     } else {
-        return (this.showJunctions);
+      return (this.showJunctions);
     }
   }
 
@@ -432,13 +438,13 @@
 
   public boolean isShowIcons() {
     if (showIconsSet) {
-        return (showIcons);
+      return (showIcons);
     }
     ValueBinding vb = getValueBinding(TobagoConstants.ATTR_SHOW_ICONS);
     if (vb != null) {
-        return (!Boolean.FALSE.equals(vb.getValue(getFacesContext())));
+      return (!Boolean.FALSE.equals(vb.getValue(getFacesContext())));
     } else {
-        return (this.showIcons);
+      return (this.showIcons);
     }
   }
 
@@ -449,13 +455,13 @@
 
   public boolean isShowRoot() {
     if (showRootSet) {
-        return (showRoot);
+      return (showRoot);
     }
     ValueBinding vb = getValueBinding(TobagoConstants.ATTR_SHOW_ROOT);
     if (vb != null) {
-        return (!Boolean.FALSE.equals(vb.getValue(getFacesContext())));
+      return (!Boolean.FALSE.equals(vb.getValue(getFacesContext())));
     } else {
-        return (this.showRoot);
+      return (this.showRoot);
     }
   }
 
@@ -466,13 +472,13 @@
 
   public boolean isShowRootJunction() {
     if (showRootJunctionSet) {
-        return (showRootJunction);
+      return (showRootJunction);
     }
     ValueBinding vb = getValueBinding(TobagoConstants.ATTR_SHOW_ROOT_JUNCTION);
     if (vb != null) {
-        return (!Boolean.FALSE.equals(vb.getValue(getFacesContext())));
+      return (!Boolean.FALSE.equals(vb.getValue(getFacesContext())));
     } else {
-        return (this.showRootJunction);
+      return (this.showRootJunction);
     }
   }
 
@@ -491,5 +497,21 @@
     public String getCommand() {
       return command;
     }
+  }
+
+  public Integer getTabIndex() {
+    if (tabIndex != null) {
+      return tabIndex;
+    }
+    ValueBinding vb = getValueBinding(ATTR_TAB_INDEX);
+    if (vb != null) {
+      return (Integer) vb.getValue(getFacesContext());
+    } else {
+      return null;
+    }
+  }
+
+  public void setTabIndex(Integer tabIndex) {
+    this.tabIndex = tabIndex;
   }
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlAttributes.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlAttributes.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlAttributes.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlAttributes.java Wed Aug 29 12:18:48 2007
@@ -73,5 +73,6 @@
   public static final String CLASS = "class";
   public static final String MAXLENGTH = "maxlength";
   public static final String LABEL = "label";
+  public static final String TABINDEX = "tabindex";
 }
 

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ButtonTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ButtonTag.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ButtonTag.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ButtonTag.java Wed Aug 29 12:18:48 2007
@@ -27,6 +27,7 @@
 import static org.apache.myfaces.tobago.TobagoConstants.ATTR_DEFAULT_COMMAND;
 import static org.apache.myfaces.tobago.TobagoConstants.ATTR_IMAGE;
 import static org.apache.myfaces.tobago.TobagoConstants.ATTR_LABEL;
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_TAB_INDEX;
 import static org.apache.myfaces.tobago.TobagoConstants.ATTR_TARGET;
 import static org.apache.myfaces.tobago.TobagoConstants.ATTR_TIP;
 import org.apache.myfaces.tobago.component.ComponentUtil;
@@ -49,6 +50,7 @@
   private String defaultCommand;
   private String target;
   private String markup;
+  private String tabIndex;
 
   @Override
   protected void setProperties(UIComponent component) {
@@ -59,6 +61,7 @@
     ComponentUtil.setStringProperty(component, ATTR_TARGET, target);
     ComponentUtil.setBooleanProperty(component, ATTR_DEFAULT_COMMAND, defaultCommand);
     ComponentUtil.setMarkup(component, markup);
+    ComponentUtil.setIntegerProperty(component, ATTR_TAB_INDEX, tabIndex);
   }
 
    public String getComponentType() {
@@ -74,6 +77,7 @@
     defaultCommand = null;
     target = null;
     markup = null;
+    tabIndex = null;
   }
 
   public String getAccessKey() {
@@ -127,6 +131,10 @@
 
   public void setMarkup(String markup) {
     this.markup = markup;
+  }
+
+  public void setTabIndex(String tabIndex) {
+    this.tabIndex = tabIndex;
   }
 }
 

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ButtonTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ButtonTagDeclaration.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ButtonTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ButtonTagDeclaration.java Wed Aug 29 12:18:48 2007
@@ -18,20 +18,21 @@
  */
 
 import org.apache.myfaces.tobago.apt.annotation.BodyContentDescription;
+import org.apache.myfaces.tobago.apt.annotation.Facet;
 import org.apache.myfaces.tobago.apt.annotation.Tag;
 import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
-import org.apache.myfaces.tobago.apt.annotation.Facet;
 import org.apache.myfaces.tobago.taglib.decl.HasCommandType;
 import org.apache.myfaces.tobago.taglib.decl.HasDeprecatedWidth;
 import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered;
 import org.apache.myfaces.tobago.taglib.decl.HasImage;
 import org.apache.myfaces.tobago.taglib.decl.HasLabelAndAccessKey;
+import org.apache.myfaces.tobago.taglib.decl.HasMarkup;
+import org.apache.myfaces.tobago.taglib.decl.HasTabIndex;
+import org.apache.myfaces.tobago.taglib.decl.HasTarget;
 import org.apache.myfaces.tobago.taglib.decl.HasTip;
 import org.apache.myfaces.tobago.taglib.decl.IsDefaultCommand;
 import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
 import org.apache.myfaces.tobago.taglib.decl.IsInline;
-import org.apache.myfaces.tobago.taglib.decl.HasTarget;
-import org.apache.myfaces.tobago.taglib.decl.HasMarkup;
 
 /*
  * Created by IntelliJ IDEA.
@@ -53,6 +54,6 @@
         @Facet(name="popup", description = "Contains a UIPopup instance.")})
 public interface ButtonTagDeclaration extends AbstractCommandTagDeclaration,
     HasIdBindingAndRendered, HasLabelAndAccessKey, HasImage,
-    IsDisabled, HasCommandType,
-    IsDefaultCommand, HasDeprecatedWidth, HasTip, IsInline, HasTarget, HasMarkup {
+    IsDisabled, HasCommandType, IsDefaultCommand, HasDeprecatedWidth, HasTip, 
+    IsInline, HasTarget, HasMarkup, HasTabIndex {
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/DatePickerTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/DatePickerTag.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/DatePickerTag.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/DatePickerTag.java Wed Aug 29 12:18:48 2007
@@ -18,6 +18,7 @@
  */
 
 import static org.apache.myfaces.tobago.TobagoConstants.ATTR_FOR;
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_TAB_INDEX;
 import org.apache.myfaces.tobago.component.ComponentUtil;
 import org.apache.myfaces.tobago.component.UIDatePicker;
 
@@ -33,30 +34,40 @@
 public class DatePickerTag extends AbstractCommandTag implements DatePickerTagDeclaration {
 
   private String forComponent;
+  private String tabIndex;
 
   @Override
   public String getComponentType() {
     return UIDatePicker.COMPONENT_TYPE;
   }
 
-  public String getFor() {
-    return forComponent;
-  }
-
   @Override
   public void release() {
     super.release();
     forComponent = null;
-  }
-
-  public void setFor(String forComponent) {
-    this.forComponent = forComponent;
+    tabIndex = null;
   }
 
   @Override
   protected void setProperties(UIComponent component) {
     super.setProperties(component);
     ComponentUtil.setStringProperty(component, ATTR_FOR, forComponent);
+    ComponentUtil.setIntegerProperty(component, ATTR_TAB_INDEX, tabIndex);
   }
 
+  public String getFor() {
+    return forComponent;
+  }
+
+  public void setFor(String forComponent) {
+    this.forComponent = forComponent;
+  }
+
+  public String getTabIndex() {
+    return tabIndex;
+  }
+
+  public void setTabIndex(String tabIndex) {
+    this.tabIndex = tabIndex;
+  }
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/DatePickerTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/DatePickerTagDeclaration.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/DatePickerTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/DatePickerTagDeclaration.java Wed Aug 29 12:18:48 2007
@@ -21,6 +21,7 @@
 import org.apache.myfaces.tobago.apt.annotation.Tag;
 import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
 import org.apache.myfaces.tobago.taglib.decl.HasFor;
+import org.apache.myfaces.tobago.taglib.decl.HasTabIndex;
 
 /*
  * Created by IntelliJ IDEA.
@@ -39,5 +40,6 @@
 @UIComponentTag(
     uiComponent = "org.apache.myfaces.tobago.component.UIDatePicker",
     rendererType = RENDERER_TYPE_DATE_PICKER)
-public interface DatePickerTagDeclaration  extends TobagoTagDeclaration, HasFor {
+public interface DatePickerTagDeclaration  extends TobagoTagDeclaration, HasFor,
+    HasTabIndex {
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/FileTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/FileTagDeclaration.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/FileTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/FileTagDeclaration.java Wed Aug 29 12:18:48 2007
@@ -24,6 +24,7 @@
 import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered;
 import org.apache.myfaces.tobago.taglib.decl.HasLabelAndAccessKey;
 import org.apache.myfaces.tobago.taglib.decl.HasOnchange;
+import org.apache.myfaces.tobago.taglib.decl.HasTabIndex;
 import org.apache.myfaces.tobago.taglib.decl.HasTip;
 import org.apache.myfaces.tobago.taglib.decl.HasValidator;
 import org.apache.myfaces.tobago.taglib.decl.HasValueChangeListener;
@@ -49,7 +50,7 @@
     rendererType = "File")
 public interface FileTagDeclaration
     extends BeanTagDeclaration, HasValidator, HasOnchange, HasValueChangeListener, HasIdBindingAndRendered, IsDisabled,
-    HasLabelAndAccessKey, HasTip, IsReadonly, IsRequired {
+    HasLabelAndAccessKey, HasTip, IsReadonly, IsRequired, HasTabIndex {
 
   /**
    * Value binding expression pointing to a

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/InputTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/InputTag.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/InputTag.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/InputTag.java Wed Aug 29 12:18:48 2007
@@ -21,6 +21,7 @@
 import org.apache.commons.logging.LogFactory;
 import static org.apache.myfaces.tobago.TobagoConstants.ATTR_FOCUS;
 import static org.apache.myfaces.tobago.TobagoConstants.ATTR_ONCHANGE;
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_TAB_INDEX;
 import static org.apache.myfaces.tobago.TobagoConstants.ATTR_TIP;
 import org.apache.myfaces.tobago.component.ComponentUtil;
 
@@ -35,6 +36,7 @@
   private String tip;
   private String validator;
   private String valueChangeListener;
+  private String tabIndex;
 
   public void release() {
     super.release();
@@ -43,6 +45,7 @@
     tip = null;
     validator = null;
     valueChangeListener = null;
+    tabIndex = null;
   }
 
   protected void setProperties(UIComponent component) {
@@ -50,6 +53,7 @@
     ComponentUtil.setStringProperty(component, ATTR_ONCHANGE, onchange);
     ComponentUtil.setBooleanProperty(component, ATTR_FOCUS, focus);
     ComponentUtil.setStringProperty(component, ATTR_TIP, tip);
+    ComponentUtil.setIntegerProperty(component, ATTR_TAB_INDEX, tabIndex);
     if (component instanceof EditableValueHolder) {
       EditableValueHolder editableValueHolder = (EditableValueHolder) component;
       ComponentUtil.setValidator(editableValueHolder, validator);
@@ -114,6 +118,14 @@
 
   public void setValueChangeListener(String valueChangeListener) {
     this.valueChangeListener = valueChangeListener;
+  }
+
+  public String getTabIndex() {
+    return tabIndex;
+  }
+
+  public void setTabIndex(String tabIndex) {
+    this.tabIndex = tabIndex;
   }
 }
 

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/InputTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/InputTagDeclaration.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/InputTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/InputTagDeclaration.java Wed Aug 29 12:18:48 2007
@@ -18,6 +18,7 @@
  */
 
 import org.apache.myfaces.tobago.taglib.decl.HasOnchange;
+import org.apache.myfaces.tobago.taglib.decl.HasTabIndex;
 import org.apache.myfaces.tobago.taglib.decl.HasValidator;
 import org.apache.myfaces.tobago.taglib.decl.HasValue;
 import org.apache.myfaces.tobago.taglib.decl.HasValueChangeListener;
@@ -28,6 +29,6 @@
  * $Id: $
  */
 public interface InputTagDeclaration extends BeanTagDeclaration, HasValidator,
-    HasOnchange, HasValue, HasValueChangeListener {
+    HasOnchange, HasValue, HasValueChangeListener, HasTabIndex {
 
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/LinkTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/LinkTag.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/LinkTag.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/LinkTag.java Wed Aug 29 12:18:48 2007
@@ -22,6 +22,7 @@
 import static org.apache.myfaces.tobago.TobagoConstants.ATTR_DEFAULT_COMMAND;
 import static org.apache.myfaces.tobago.TobagoConstants.ATTR_IMAGE;
 import static org.apache.myfaces.tobago.TobagoConstants.ATTR_LABEL;
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_TAB_INDEX;
 import static org.apache.myfaces.tobago.TobagoConstants.ATTR_TARGET;
 import static org.apache.myfaces.tobago.TobagoConstants.ATTR_TIP;
 import org.apache.myfaces.tobago.component.ComponentUtil;
@@ -40,6 +41,7 @@
   private String tip;
   private String defaultCommand;
   private String markup;
+  private String tabIndex;
 
   protected void setProperties(UIComponent component) {
     super.setProperties(component);
@@ -49,6 +51,7 @@
     ComponentUtil.setStringProperty(component, ATTR_TIP, tip);
     ComponentUtil.setBooleanProperty(component, ATTR_DEFAULT_COMMAND, defaultCommand);
     ComponentUtil.setMarkup(component, markup);
+    ComponentUtil.setIntegerProperty(component, ATTR_TAB_INDEX, tabIndex);
   }
 
   public String getComponentType() {
@@ -63,6 +66,7 @@
     tip = null;
     defaultCommand = null;
     markup = null;
+    tabIndex = null;
   }
 
   public String getTarget() {
@@ -118,5 +122,9 @@
 
   public void setMarkup(String markup) {
     this.markup = markup;
+  }
+
+  public void setTabIndex(String tabIndex) {
+    this.tabIndex = tabIndex;
   }
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/LinkTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/LinkTagDeclaration.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/LinkTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/LinkTagDeclaration.java Wed Aug 29 12:18:48 2007
@@ -18,18 +18,19 @@
  */
 
 import org.apache.myfaces.tobago.apt.annotation.BodyContentDescription;
+import org.apache.myfaces.tobago.apt.annotation.Facet;
 import org.apache.myfaces.tobago.apt.annotation.Tag;
 import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
-import org.apache.myfaces.tobago.apt.annotation.Facet;
 import org.apache.myfaces.tobago.taglib.decl.HasCommandType;
 import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered;
 import org.apache.myfaces.tobago.taglib.decl.HasImage;
 import org.apache.myfaces.tobago.taglib.decl.HasLabelAndAccessKey;
+import org.apache.myfaces.tobago.taglib.decl.HasMarkup;
+import org.apache.myfaces.tobago.taglib.decl.HasTabIndex;
 import org.apache.myfaces.tobago.taglib.decl.HasTarget;
 import org.apache.myfaces.tobago.taglib.decl.HasTip;
 import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
 import org.apache.myfaces.tobago.taglib.decl.IsInline;
-import org.apache.myfaces.tobago.taglib.decl.HasMarkup;
 
 /*
  * Created by IntelliJ IDEA.
@@ -49,7 +50,6 @@
     rendererType = "Link",
     facets = {@Facet(name="confirmation", description = "Contains a UIOutput instance with the confirmation message.")})
 public interface LinkTagDeclaration extends AbstractCommandTagDeclaration,
-    HasIdBindingAndRendered, HasLabelAndAccessKey, IsDisabled,
-    IsInline, HasCommandType,
-    HasTarget, HasTip, HasImage, HasMarkup {
+    HasIdBindingAndRendered, HasLabelAndAccessKey, IsDisabled, IsInline, 
+    HasCommandType, HasTarget, HasTip, HasImage, HasMarkup, HasTabIndex {
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectBooleanCheckboxTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectBooleanCheckboxTagDeclaration.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectBooleanCheckboxTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectBooleanCheckboxTagDeclaration.java Wed Aug 29 12:18:48 2007
@@ -18,20 +18,21 @@
  */
 
 import org.apache.myfaces.tobago.apt.annotation.BodyContentDescription;
+import org.apache.myfaces.tobago.apt.annotation.Facet;
 import org.apache.myfaces.tobago.apt.annotation.Tag;
 import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
-import org.apache.myfaces.tobago.apt.annotation.Facet;
 import org.apache.myfaces.tobago.taglib.decl.HasBooleanValue;
 import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered;
 import org.apache.myfaces.tobago.taglib.decl.HasLabelAndAccessKey;
+import org.apache.myfaces.tobago.taglib.decl.HasMarkup;
 import org.apache.myfaces.tobago.taglib.decl.HasOnchange;
+import org.apache.myfaces.tobago.taglib.decl.HasTabIndex;
 import org.apache.myfaces.tobago.taglib.decl.HasTip;
 import org.apache.myfaces.tobago.taglib.decl.HasValidator;
 import org.apache.myfaces.tobago.taglib.decl.HasValueChangeListener;
 import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
 import org.apache.myfaces.tobago.taglib.decl.IsInline;
 import org.apache.myfaces.tobago.taglib.decl.IsReadonly;
-import org.apache.myfaces.tobago.taglib.decl.HasMarkup;
 
 /*
  * Created: Aug 5, 2005 5:18:50 PM
@@ -57,6 +58,6 @@
 
 public interface SelectBooleanCheckboxTagDeclaration extends BeanTagDeclaration, HasValidator,
     HasOnchange, HasValueChangeListener, HasIdBindingAndRendered, HasLabelAndAccessKey, HasBooleanValue, IsDisabled,
-    IsInline, HasTip, IsReadonly, HasMarkup /*, IsRequired */ {
+    IsInline, HasTip, IsReadonly, HasMarkup, HasTabIndex /*, IsRequired */ {
 
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectManyTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectManyTag.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectManyTag.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectManyTag.java Wed Aug 29 12:18:48 2007
@@ -18,8 +18,8 @@
  */
 
 import org.apache.myfaces.tobago.component.ComponentUtil;
+import org.apache.myfaces.tobago.component.UISelectMany;
 
-import javax.faces.component.UISelectMany;
 import javax.faces.component.UIComponent;
 
 /**

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/TreeOldTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/TreeOldTag.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/TreeOldTag.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/TreeOldTag.java Wed Aug 29 12:18:48 2007
@@ -17,12 +17,13 @@
  * limitations under the License.
  */
 
+import org.apache.myfaces.tobago.TobagoConstants;
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_TAB_INDEX;
 import org.apache.myfaces.tobago.component.ComponentUtil;
 import org.apache.myfaces.tobago.component.UITreeOld;
-import org.apache.myfaces.tobago.TobagoConstants;
 
-import javax.faces.component.UIComponent;
 import javax.faces.component.ActionSource;
+import javax.faces.component.UIComponent;
 
 @Deprecated
 public class TreeOldTag extends TobagoTag implements TreeOldTagDeclaration {
@@ -49,6 +50,8 @@
 
   private String mode;
 
+  private String tabIndex;
+  
   public String getComponentType() {
     return UITreeOld.COMPONENT_TYPE;
   }
@@ -78,6 +81,7 @@
     ComponentUtil.setActionListener((ActionSource) component, actionListener);
     ComponentUtil.setStringProperty(component, TobagoConstants.ATTR_MODE, mode);
     ComponentUtil.setStringProperty(component, TobagoConstants.ATTR_TIP_REFERENCE, tipReference);
+    ComponentUtil.setIntegerProperty(component, ATTR_TAB_INDEX, tabIndex);
   }
 
   public void release() {
@@ -96,6 +100,7 @@
     required = null;
     actionListener = null;
     mode = null;
+    tabIndex = null;
   }
 
   public String getValue() {
@@ -211,5 +216,13 @@
 
   public void setTipReference(String tipReference) {
     this.tipReference = tipReference;
+  }
+
+  public String getTabIndex() {
+    return tabIndex;
+  }
+
+  public void setTabIndex(String tabIndex) {
+    this.tabIndex = tabIndex;
   }
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/TreeOldTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/TreeOldTagDeclaration.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/TreeOldTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/TreeOldTagDeclaration.java Wed Aug 29 12:18:48 2007
@@ -17,17 +17,18 @@
  * limitations under the License.
  */
 
-import org.apache.myfaces.tobago.apt.annotation.Tag;
 import org.apache.myfaces.tobago.apt.annotation.BodyContentDescription;
-import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
+import org.apache.myfaces.tobago.apt.annotation.Tag;
 import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
+import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
 import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
+import org.apache.myfaces.tobago.taglib.decl.HasActionListener;
 import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered;
-import org.apache.myfaces.tobago.taglib.decl.HasTreeNodeValue;
-import org.apache.myfaces.tobago.taglib.decl.HasState;
 import org.apache.myfaces.tobago.taglib.decl.HasIdReference;
-import org.apache.myfaces.tobago.taglib.decl.HasActionListener;
 import org.apache.myfaces.tobago.taglib.decl.HasNameReference;
+import org.apache.myfaces.tobago.taglib.decl.HasState;
+import org.apache.myfaces.tobago.taglib.decl.HasTabIndex;
+import org.apache.myfaces.tobago.taglib.decl.HasTreeNodeValue;
 import org.apache.myfaces.tobago.taglib.decl.IsRequired;
 
 /**
@@ -40,8 +41,8 @@
     uiComponent = "org.apache.myfaces.tobago.component.UITreeOld",
     rendererType = "TreeOld")
 public interface TreeOldTagDeclaration extends TobagoTagDeclaration,
-    HasIdBindingAndRendered, HasTreeNodeValue, HasState,
-    HasIdReference, HasActionListener, HasNameReference, IsRequired {
+    HasIdBindingAndRendered, HasTreeNodeValue, HasState, HasIdReference, 
+    HasActionListener, HasNameReference, IsRequired, HasTabIndex {
 
   /**
    * Flag indicating whether or not this component should be render selectable items.

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/DateExtensionTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/DateExtensionTag.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/DateExtensionTag.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/DateExtensionTag.java Wed Aug 29 12:18:48 2007
@@ -17,25 +17,26 @@
  * limitations under the License.
  */
 
-import org.apache.myfaces.tobago.apt.annotation.Tag;
 import org.apache.myfaces.tobago.apt.annotation.ExtensionTag;
-import org.apache.myfaces.tobago.taglib.component.DateTag;
+import org.apache.myfaces.tobago.apt.annotation.Tag;
 import org.apache.myfaces.tobago.taglib.component.DatePickerTag;
+import org.apache.myfaces.tobago.taglib.component.DateTag;
 import org.apache.myfaces.tobago.taglib.component.FormTag;
 import org.apache.myfaces.tobago.taglib.decl.HasConverter;
 import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered;
 import org.apache.myfaces.tobago.taglib.decl.HasLabel;
+import org.apache.myfaces.tobago.taglib.decl.HasLabelWidth;
+import org.apache.myfaces.tobago.taglib.decl.HasOnchange;
+import org.apache.myfaces.tobago.taglib.decl.HasTabIndex;
 import org.apache.myfaces.tobago.taglib.decl.HasTip;
 import org.apache.myfaces.tobago.taglib.decl.HasValidator;
 import org.apache.myfaces.tobago.taglib.decl.HasValue;
+import org.apache.myfaces.tobago.taglib.decl.HasValueChangeListener;
 import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
 import org.apache.myfaces.tobago.taglib.decl.IsFocus;
 import org.apache.myfaces.tobago.taglib.decl.IsInline;
 import org.apache.myfaces.tobago.taglib.decl.IsReadonly;
 import org.apache.myfaces.tobago.taglib.decl.IsRequired;
-import org.apache.myfaces.tobago.taglib.decl.HasOnchange;
-import org.apache.myfaces.tobago.taglib.decl.HasValueChangeListener;
-import org.apache.myfaces.tobago.taglib.decl.HasLabelWidth;
 
 import javax.servlet.jsp.JspException;
 import javax.servlet.jsp.tagext.BodyTagSupport;
@@ -67,8 +68,8 @@
 @ExtensionTag(baseClassName = "org.apache.myfaces.tobago.taglib.component.DateTag")
 public class DateExtensionTag extends BodyTagSupport
     implements HasValue, HasValueChangeListener, HasValidator, HasIdBindingAndRendered,
-    HasConverter, IsReadonly, IsDisabled, HasOnchange,
-    IsRequired, HasTip, HasLabel, HasLabelWidth, IsFocus, IsInline {
+    HasConverter, IsReadonly, IsDisabled, HasOnchange, IsRequired, HasTip, 
+    HasLabel, HasLabelWidth, IsFocus, IsInline, HasTabIndex {
 
   private static final long serialVersionUID = 2044784791513107420L;
 
@@ -86,6 +87,7 @@
   private String valueChangeListener;
   private String inline;
   private String onchange;
+  private String tabIndex;
 
   private String labelWidth;
   private LabelExtensionTag labelTag;
@@ -151,6 +153,9 @@
     if (required != null) {
       dateTag.setRequired(required);
     }
+    if (tabIndex != null) {
+      dateTag.setTabIndex(tabIndex);
+    }
     dateTag.setParent(labelTag);
     dateTag.doStartTag();
 
@@ -168,6 +173,9 @@
     DatePickerTag datePicker = new DatePickerTag();
     datePicker.setPageContext(pageContext);
     datePicker.setFor("@auto");
+    if (tabIndex != null) {
+      datePicker.setTabIndex(tabIndex);
+    }    
     datePicker.setParent(formTag);
     datePicker.doStartTag();
     datePicker.doEndTag();
@@ -195,6 +203,7 @@
     value = null;
     valueChangeListener = null;
     onchange = null;
+    tabIndex = null;
     labelTag = null;
     dateTag = null;
   }
@@ -256,5 +265,9 @@
 
   public void setLabelWidth(String labelWidth) {
     this.labelWidth = labelWidth;
+  }
+
+  public void setTabIndex(String tabIndex) {
+    this.tabIndex = tabIndex;
   }
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/FileExtensionTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/FileExtensionTag.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/FileExtensionTag.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/FileExtensionTag.java Wed Aug 29 12:18:48 2007
@@ -17,15 +17,15 @@
  * limitations under the License.
  */
 
-import org.apache.myfaces.tobago.apt.annotation.Tag;
 import org.apache.myfaces.tobago.apt.annotation.ExtensionTag;
+import org.apache.myfaces.tobago.apt.annotation.Tag;
 import org.apache.myfaces.tobago.taglib.component.FileTag;
 import org.apache.myfaces.tobago.taglib.component.InputTagDeclaration;
 import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered;
 import org.apache.myfaces.tobago.taglib.decl.HasLabel;
+import org.apache.myfaces.tobago.taglib.decl.HasLabelWidth;
 import org.apache.myfaces.tobago.taglib.decl.HasTip;
 import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
-import org.apache.myfaces.tobago.taglib.decl.HasLabelWidth;
 import org.apache.myfaces.tobago.taglib.decl.IsRequired;
 
 import javax.servlet.jsp.JspException;
@@ -66,6 +66,7 @@
   private String onchange;
   private String labelWidth;
   private String required;
+  private String tabIndex;
 
   private LabelExtensionTag labelTag;
   private FileTag fileTag;
@@ -116,6 +117,9 @@
     if (required != null) {
       fileTag.setRequired(required);
     }
+    if (tabIndex != null) {
+      fileTag.setTabIndex(tabIndex);
+    }
     fileTag.setParent(labelTag);
     fileTag.doStartTag();
 
@@ -143,6 +147,7 @@
     rendered = null;
     valueChangeListener = null;
     required = null;
+    tabIndex = null;
     fileTag = null;
     labelTag = null;
   }
@@ -189,5 +194,9 @@
 
   public void setRequired(String required) {
     this.required = required;
+  }
+
+  public void setTabIndex(String tabIndex) {
+    this.tabIndex = tabIndex;
   }
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/InExtensionTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/InExtensionTag.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/InExtensionTag.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/InExtensionTag.java Wed Aug 29 12:18:48 2007
@@ -17,25 +17,26 @@
  * limitations under the License.
  */
 
-import org.apache.myfaces.tobago.apt.annotation.Tag;
 import org.apache.myfaces.tobago.apt.annotation.ExtensionTag;
+import org.apache.myfaces.tobago.apt.annotation.Tag;
 import org.apache.myfaces.tobago.taglib.component.InTag;
 import org.apache.myfaces.tobago.taglib.decl.HasConverter;
 import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered;
 import org.apache.myfaces.tobago.taglib.decl.HasLabel;
+import org.apache.myfaces.tobago.taglib.decl.HasLabelWidth;
+import org.apache.myfaces.tobago.taglib.decl.HasMarkup;
+import org.apache.myfaces.tobago.taglib.decl.HasOnchange;
+import org.apache.myfaces.tobago.taglib.decl.HasSuggestMethod;
+import org.apache.myfaces.tobago.taglib.decl.HasTabIndex;
 import org.apache.myfaces.tobago.taglib.decl.HasTip;
 import org.apache.myfaces.tobago.taglib.decl.HasValidator;
 import org.apache.myfaces.tobago.taglib.decl.HasValue;
+import org.apache.myfaces.tobago.taglib.decl.HasValueChangeListener;
 import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
 import org.apache.myfaces.tobago.taglib.decl.IsFocus;
 import org.apache.myfaces.tobago.taglib.decl.IsPassword;
 import org.apache.myfaces.tobago.taglib.decl.IsReadonly;
 import org.apache.myfaces.tobago.taglib.decl.IsRequired;
-import org.apache.myfaces.tobago.taglib.decl.HasOnchange;
-import org.apache.myfaces.tobago.taglib.decl.HasValueChangeListener;
-import org.apache.myfaces.tobago.taglib.decl.HasSuggestMethod;
-import org.apache.myfaces.tobago.taglib.decl.HasLabelWidth;
-import org.apache.myfaces.tobago.taglib.decl.HasMarkup;
 
 import javax.servlet.jsp.JspException;
 import javax.servlet.jsp.tagext.BodyTagSupport;
@@ -62,8 +63,8 @@
 @ExtensionTag(baseClassName = "org.apache.myfaces.tobago.taglib.component.InTag")
 public class InExtensionTag extends BodyTagSupport
     implements HasValue, HasValueChangeListener, HasValidator, HasIdBindingAndRendered,
-    HasConverter, IsReadonly, IsDisabled, HasOnchange, HasMarkup,
-    IsRequired, HasTip, HasLabel, HasLabelWidth, IsPassword, IsFocus, HasSuggestMethod {
+    HasConverter, IsReadonly, IsDisabled, HasOnchange, HasMarkup, IsRequired, 
+    HasTip, HasLabel, HasLabelWidth, IsPassword, IsFocus, HasSuggestMethod, HasTabIndex {
 
   private String binding;
   private String converter;
@@ -82,6 +83,7 @@
   private String suggestMethod;
   private String markup;
   private String labelWidth;
+  private String tabIndex;
 
   private LabelExtensionTag labelTag;
   private InTag inTag;
@@ -151,6 +153,9 @@
     if (markup != null) {
       inTag.setMarkup(markup);
     }
+    if (tabIndex != null) {
+      inTag.setTabIndex(tabIndex);
+    }
     inTag.setParent(labelTag);
     inTag.doStartTag();
 
@@ -184,6 +189,7 @@
     onchange = null;
     suggestMethod = null;
     markup = null;
+    tabIndex = null;
     inTag = null;
     labelTag = null;
   }
@@ -253,5 +259,9 @@
 
   public void setLabelWidth(String labelWidth) {
     this.labelWidth = labelWidth;
+  }
+
+  public void setTabIndex(String tabIndex) {
+    this.tabIndex = tabIndex;
   }
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/LabelExtensionTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/LabelExtensionTag.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/LabelExtensionTag.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/LabelExtensionTag.java Wed Aug 29 12:18:48 2007
@@ -17,14 +17,14 @@
  * limitations under the License.
  */
 
-import org.apache.myfaces.tobago.apt.annotation.Tag;
+import static org.apache.myfaces.tobago.TobagoConstants.FACET_LAYOUT;
 import org.apache.myfaces.tobago.apt.annotation.ExtensionTag;
+import org.apache.myfaces.tobago.apt.annotation.Tag;
 import org.apache.myfaces.tobago.taglib.component.GridLayoutTag;
 import org.apache.myfaces.tobago.taglib.component.LabelTag;
 import org.apache.myfaces.tobago.taglib.component.PanelTag;
 import org.apache.myfaces.tobago.taglib.decl.HasTip;
 import org.apache.myfaces.tobago.taglib.decl.HasValue;
-import static org.apache.myfaces.tobago.TobagoConstants.FACET_LAYOUT;
 
 import javax.faces.webapp.FacetTag;
 import javax.servlet.jsp.JspException;
@@ -39,6 +39,7 @@
   private String tip;
   private String rendered;
   private String columns = "fixed;*";
+  private String rows = "fixed";
 
   private PanelTag panelTag;
 
@@ -62,6 +63,7 @@
     GridLayoutTag gridLayoutTag = new GridLayoutTag();
     gridLayoutTag.setPageContext(pageContext);
     gridLayoutTag.setColumns(columns);
+    gridLayoutTag.setRows(rows);
     gridLayoutTag.setParent(facetTag);
     gridLayoutTag.doStartTag();
     gridLayoutTag.doEndTag();
@@ -97,6 +99,7 @@
     tip = null;
     rendered = null;
     columns = "fixed;*";
+    rows = "fixed";
     panelTag = null;
   }
 
@@ -114,5 +117,9 @@
 
   void setColumns(String columns) {
     this.columns = columns;
+  }
+
+  public void setRows(String rows) {
+    this.rows = rows;
   }
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectBooleanCheckboxExtensionTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectBooleanCheckboxExtensionTag.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectBooleanCheckboxExtensionTag.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectBooleanCheckboxExtensionTag.java Wed Aug 29 12:18:48 2007
@@ -17,21 +17,22 @@
  * limitations under the License.
  */
 
-import org.apache.myfaces.tobago.apt.annotation.Tag;
 import org.apache.myfaces.tobago.apt.annotation.ExtensionTag;
-import org.apache.myfaces.tobago.taglib.decl.HasLabel;
-import org.apache.myfaces.tobago.taglib.decl.HasOnchange;
+import org.apache.myfaces.tobago.apt.annotation.Tag;
+import org.apache.myfaces.tobago.taglib.component.SelectBooleanCheckboxTag;
+import org.apache.myfaces.tobago.taglib.component.TobagoTagDeclaration;
 import org.apache.myfaces.tobago.taglib.decl.HasBooleanValue;
-import org.apache.myfaces.tobago.taglib.decl.HasValueChangeListener;
-import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
 import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered;
+import org.apache.myfaces.tobago.taglib.decl.HasLabel;
+import org.apache.myfaces.tobago.taglib.decl.HasLabelWidth;
+import org.apache.myfaces.tobago.taglib.decl.HasMarkup;
+import org.apache.myfaces.tobago.taglib.decl.HasOnchange;
+import org.apache.myfaces.tobago.taglib.decl.HasTabIndex;
 import org.apache.myfaces.tobago.taglib.decl.HasTip;
 import org.apache.myfaces.tobago.taglib.decl.HasValidator;
+import org.apache.myfaces.tobago.taglib.decl.HasValueChangeListener;
+import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
 import org.apache.myfaces.tobago.taglib.decl.IsReadonly;
-import org.apache.myfaces.tobago.taglib.decl.HasLabelWidth;
-import org.apache.myfaces.tobago.taglib.decl.HasMarkup;
-import org.apache.myfaces.tobago.taglib.component.SelectBooleanCheckboxTag;
-import org.apache.myfaces.tobago.taglib.component.TobagoTagDeclaration;
 
 import javax.servlet.jsp.JspException;
 import javax.servlet.jsp.tagext.BodyTagSupport;
@@ -49,7 +50,7 @@
 @ExtensionTag(baseClassName = "org.apache.myfaces.tobago.taglib.component.SelectBooleanCheckboxTag")
 public class SelectBooleanCheckboxExtensionTag extends BodyTagSupport implements TobagoTagDeclaration,
     HasValidator, HasOnchange, HasValueChangeListener, HasIdBindingAndRendered, HasLabel,
-    HasBooleanValue, HasLabelWidth, IsDisabled, HasTip, IsReadonly, HasMarkup {
+    HasBooleanValue, HasLabelWidth, IsDisabled, HasTip, IsReadonly, HasMarkup, HasTabIndex {
 
   private String value;
   private String valueChangeListener;
@@ -64,6 +65,7 @@
   private String validator;
   private String labelWidth;
   private String markup;
+  private String tabIndex;
 
   private LabelExtensionTag labelTag;
   private SelectBooleanCheckboxTag selectBooleanCheckboxTag;
@@ -134,6 +136,9 @@
     if (markup != null) {
       selectBooleanCheckboxTag.setMarkup(markup);
     }
+    if (tabIndex != null) {
+      selectBooleanCheckboxTag.setTabIndex(tabIndex);
+    }
     selectBooleanCheckboxTag.setParent(labelTag);
     selectBooleanCheckboxTag.doStartTag();
 
@@ -163,6 +168,7 @@
     value = null;
     valueChangeListener = null;
     markup = null;
+    tabIndex = null;
   }
 
   public void setValue(String value) {
@@ -218,4 +224,7 @@
     this.markup = markup;
   }
 
+  public void setTabIndex(String tabIndex) {
+    this.tabIndex = tabIndex;
+  }
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectManyListboxExtensionTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectManyListboxExtensionTag.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectManyListboxExtensionTag.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectManyListboxExtensionTag.java Wed Aug 29 12:18:48 2007
@@ -17,25 +17,26 @@
  * limitations under the License.
  */
 
-import org.apache.myfaces.tobago.apt.annotation.Tag;
 import org.apache.myfaces.tobago.apt.annotation.ExtensionTag;
+import org.apache.myfaces.tobago.apt.annotation.Tag;
 import org.apache.myfaces.tobago.taglib.component.SelectManyListboxTag;
 import org.apache.myfaces.tobago.taglib.decl.HasBinding;
 import org.apache.myfaces.tobago.taglib.decl.HasConverter;
 import org.apache.myfaces.tobago.taglib.decl.HasDeprecatedHeight;
 import org.apache.myfaces.tobago.taglib.decl.HasId;
 import org.apache.myfaces.tobago.taglib.decl.HasLabel;
+import org.apache.myfaces.tobago.taglib.decl.HasLabelWidth;
+import org.apache.myfaces.tobago.taglib.decl.HasMarkup;
+import org.apache.myfaces.tobago.taglib.decl.HasOnchange;
+import org.apache.myfaces.tobago.taglib.decl.HasTabIndex;
 import org.apache.myfaces.tobago.taglib.decl.HasTip;
 import org.apache.myfaces.tobago.taglib.decl.HasValidator;
 import org.apache.myfaces.tobago.taglib.decl.HasValue;
+import org.apache.myfaces.tobago.taglib.decl.HasValueChangeListener;
 import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
 import org.apache.myfaces.tobago.taglib.decl.IsInline;
-import org.apache.myfaces.tobago.taglib.decl.IsRendered;
-import org.apache.myfaces.tobago.taglib.decl.HasOnchange;
-import org.apache.myfaces.tobago.taglib.decl.HasValueChangeListener;
 import org.apache.myfaces.tobago.taglib.decl.IsReadonly;
-import org.apache.myfaces.tobago.taglib.decl.HasLabelWidth;
-import org.apache.myfaces.tobago.taglib.decl.HasMarkup;
+import org.apache.myfaces.tobago.taglib.decl.IsRendered;
 import org.apache.myfaces.tobago.taglib.decl.IsRequired;
 
 import javax.servlet.jsp.JspException;
@@ -56,8 +57,8 @@
 @ExtensionTag(baseClassName = "org.apache.myfaces.tobago.taglib.component.SelectManyListboxTag")
 public class SelectManyListboxExtensionTag extends BodyTagSupport
     implements HasId, HasValue, HasValueChangeListener, IsDisabled, HasDeprecatedHeight, IsInline,
-    HasLabel, HasLabelWidth, IsRendered, HasBinding, HasTip, HasConverter, HasValidator, HasOnchange, IsReadonly,
-    HasMarkup, IsRequired {
+    HasLabel, HasLabelWidth, IsRendered, HasBinding, HasTip, HasConverter, HasValidator, HasOnchange, 
+    IsReadonly, HasMarkup, IsRequired, HasTabIndex {
 
   private String required;
   private String value;
@@ -75,6 +76,7 @@
   private String validator;
   private String labelWidth;
   private String markup;
+  private String tabIndex;
 
   private LabelExtensionTag labelTag;
   private SelectManyListboxTag selectManyListboxTag;
@@ -84,6 +86,7 @@
 
     labelTag = new LabelExtensionTag();
     labelTag.setPageContext(pageContext);
+    labelTag.setRows("*");
     if (label != null) {
       labelTag.setValue(label);
     }
@@ -147,6 +150,9 @@
     if (markup != null) {
       selectManyListboxTag.setMarkup(markup);
     }
+    if (tabIndex != null) {
+      selectManyListboxTag.setTabIndex(tabIndex);
+    }
     selectManyListboxTag.setParent(labelTag);
     selectManyListboxTag.doStartTag();
 
@@ -179,6 +185,7 @@
     value = null;
     valueChangeListener = null;
     markup = null;
+    tabIndex = null;
     selectManyListboxTag = null;
     labelTag = null;
   }
@@ -245,5 +252,9 @@
 
   public void setMarkup(String markup) {
     this.markup = markup;
+  }
+
+  public void setTabIndex(String tabIndex) {
+    this.tabIndex = tabIndex;
   }
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectOneChoiceExtensionTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectOneChoiceExtensionTag.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectOneChoiceExtensionTag.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectOneChoiceExtensionTag.java Wed Aug 29 12:18:48 2007
@@ -17,24 +17,25 @@
  * limitations under the License.
  */
 
-import org.apache.myfaces.tobago.apt.annotation.Tag;
 import org.apache.myfaces.tobago.apt.annotation.ExtensionTag;
+import org.apache.myfaces.tobago.apt.annotation.Tag;
 import org.apache.myfaces.tobago.taglib.component.SelectOneChoiceTag;
 import org.apache.myfaces.tobago.taglib.decl.HasBinding;
 import org.apache.myfaces.tobago.taglib.decl.HasConverter;
 import org.apache.myfaces.tobago.taglib.decl.HasId;
 import org.apache.myfaces.tobago.taglib.decl.HasLabel;
+import org.apache.myfaces.tobago.taglib.decl.HasLabelWidth;
 import org.apache.myfaces.tobago.taglib.decl.HasOnchange;
+import org.apache.myfaces.tobago.taglib.decl.HasTabIndex;
 import org.apache.myfaces.tobago.taglib.decl.HasTip;
 import org.apache.myfaces.tobago.taglib.decl.HasValidator;
 import org.apache.myfaces.tobago.taglib.decl.HasValue;
+import org.apache.myfaces.tobago.taglib.decl.HasValueChangeListener;
 import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
 import org.apache.myfaces.tobago.taglib.decl.IsInline;
 import org.apache.myfaces.tobago.taglib.decl.IsReadonly;
 import org.apache.myfaces.tobago.taglib.decl.IsRendered;
-import org.apache.myfaces.tobago.taglib.decl.HasValueChangeListener;
 import org.apache.myfaces.tobago.taglib.decl.IsRequired;
-import org.apache.myfaces.tobago.taglib.decl.HasLabelWidth;
 
 import javax.servlet.jsp.JspException;
 import javax.servlet.jsp.tagext.BodyTagSupport;
@@ -49,7 +50,7 @@
     extends BodyTagSupport
     implements HasId, HasValue, HasValueChangeListener, IsDisabled,
     IsReadonly, HasOnchange, IsInline, HasLabel, HasLabelWidth, IsRequired,
-    IsRendered, HasBinding, HasTip , HasValidator, HasConverter {
+    IsRendered, HasBinding, HasTip , HasValidator, HasConverter, HasTabIndex {
 
   private String required;
   private String value;
@@ -65,6 +66,7 @@
   private String validator;
   private String converter;
   private String labelWidth;
+  private String tabIndex;
 
   private LabelExtensionTag labelTag;
   private SelectOneChoiceTag selectOneChoiceTag;
@@ -125,6 +127,9 @@
     if (required != null) {
       selectOneChoiceTag.setRequired(required);
     }
+    if (tabIndex != null) {
+      selectOneChoiceTag.setTabIndex(tabIndex);
+    }
     selectOneChoiceTag.setParent(labelTag);
     selectOneChoiceTag.doStartTag();
 
@@ -155,6 +160,7 @@
     tip = null;
     value = null;
     valueChangeListener = null;
+    tabIndex = null;
     selectOneChoiceTag = null;
     labelTag = null;
   }
@@ -215,4 +221,7 @@
     this.labelWidth = labelWidth;
   }
 
+  public void setTabIndex(String tabIndex) {
+    this.tabIndex = tabIndex;
+  }
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectOneListboxExtensionTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectOneListboxExtensionTag.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectOneListboxExtensionTag.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/SelectOneListboxExtensionTag.java Wed Aug 29 12:18:48 2007
@@ -17,24 +17,25 @@
  * limitations under the License.
  */
 
-import org.apache.myfaces.tobago.apt.annotation.Tag;
 import org.apache.myfaces.tobago.apt.annotation.ExtensionTag;
+import org.apache.myfaces.tobago.apt.annotation.Tag;
 import org.apache.myfaces.tobago.taglib.component.SelectOneListboxTag;
 import org.apache.myfaces.tobago.taglib.decl.HasBinding;
 import org.apache.myfaces.tobago.taglib.decl.HasConverter;
 import org.apache.myfaces.tobago.taglib.decl.HasDeprecatedHeight;
 import org.apache.myfaces.tobago.taglib.decl.HasId;
 import org.apache.myfaces.tobago.taglib.decl.HasLabel;
+import org.apache.myfaces.tobago.taglib.decl.HasLabelWidth;
 import org.apache.myfaces.tobago.taglib.decl.HasOnchange;
+import org.apache.myfaces.tobago.taglib.decl.HasTabIndex;
 import org.apache.myfaces.tobago.taglib.decl.HasTip;
 import org.apache.myfaces.tobago.taglib.decl.HasValidator;
 import org.apache.myfaces.tobago.taglib.decl.HasValue;
+import org.apache.myfaces.tobago.taglib.decl.HasValueChangeListener;
 import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
 import org.apache.myfaces.tobago.taglib.decl.IsReadonly;
 import org.apache.myfaces.tobago.taglib.decl.IsRendered;
 import org.apache.myfaces.tobago.taglib.decl.IsRequired;
-import org.apache.myfaces.tobago.taglib.decl.HasValueChangeListener;
-import org.apache.myfaces.tobago.taglib.decl.HasLabelWidth;
 
 import javax.servlet.jsp.JspException;
 import javax.servlet.jsp.tagext.BodyTagSupport;
@@ -53,7 +54,7 @@
 public class SelectOneListboxExtensionTag
     extends BodyTagSupport implements HasId, HasValue, HasValueChangeListener, IsDisabled,
     HasLabel, HasLabelWidth, IsReadonly, HasOnchange, IsRendered,
-    HasBinding, HasDeprecatedHeight, HasTip , IsRequired, HasConverter, HasValidator {
+    HasBinding, HasDeprecatedHeight, HasTip , IsRequired, HasConverter, HasValidator, HasTabIndex {
   private String required;
   private String value;
   private String valueChangeListener;
@@ -69,6 +70,7 @@
   private String converter;
   private String validator;
   private String labelWidth;
+  private String tabIndex;
 
   private LabelExtensionTag labelTag;
   private SelectOneListboxTag selectOneListboxTag;
@@ -78,6 +80,7 @@
 
     labelTag = new LabelExtensionTag();
     labelTag.setPageContext(pageContext);
+    labelTag.setRows("*");
     if (label != null) {
       labelTag.setValue(label);
     }
@@ -131,6 +134,9 @@
     if (required != null) {
       selectOneListboxTag.setRequired(required);
     }
+    if (tabIndex != null) {
+      selectOneListboxTag.setTabIndex(tabIndex);
+    }
     selectOneListboxTag.setParent(labelTag);
     selectOneListboxTag.doStartTag();
 
@@ -162,6 +168,7 @@
     tip = null;
     value = null;
     valueChangeListener = null;
+    tabIndex = null;
     selectOneListboxTag = null;
     labelTag = null;
   }
@@ -202,7 +209,6 @@
     this.height = height;
   }
 
-
   public void setValidator(String validator) {
     this.validator = validator;
   }
@@ -225,5 +231,9 @@
 
   public void setLabelWidth(String labelWidth) {
     this.labelWidth = labelWidth;
+  }
+
+  public void setTabIndex(String tabIndex) {
+    this.tabIndex = tabIndex;
   }
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/TextAreaExtensionTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/TextAreaExtensionTag.java?rev=570902&r1=570901&r2=570902&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/TextAreaExtensionTag.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/TextAreaExtensionTag.java Wed Aug 29 12:18:48 2007
@@ -17,23 +17,24 @@
  * limitations under the License.
  */
 
-import org.apache.myfaces.tobago.apt.annotation.Tag;
 import org.apache.myfaces.tobago.apt.annotation.ExtensionTag;
+import org.apache.myfaces.tobago.apt.annotation.Tag;
 import org.apache.myfaces.tobago.taglib.component.TextAreaTag;
 import org.apache.myfaces.tobago.taglib.decl.HasConverter;
 import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered;
 import org.apache.myfaces.tobago.taglib.decl.HasLabel;
+import org.apache.myfaces.tobago.taglib.decl.HasLabelWidth;
+import org.apache.myfaces.tobago.taglib.decl.HasMarkup;
+import org.apache.myfaces.tobago.taglib.decl.HasOnchange;
+import org.apache.myfaces.tobago.taglib.decl.HasTabIndex;
 import org.apache.myfaces.tobago.taglib.decl.HasTip;
 import org.apache.myfaces.tobago.taglib.decl.HasValidator;
 import org.apache.myfaces.tobago.taglib.decl.HasValue;
+import org.apache.myfaces.tobago.taglib.decl.HasValueChangeListener;
 import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
 import org.apache.myfaces.tobago.taglib.decl.IsFocus;
 import org.apache.myfaces.tobago.taglib.decl.IsReadonly;
 import org.apache.myfaces.tobago.taglib.decl.IsRequired;
-import org.apache.myfaces.tobago.taglib.decl.HasOnchange;
-import org.apache.myfaces.tobago.taglib.decl.HasValueChangeListener;
-import org.apache.myfaces.tobago.taglib.decl.HasLabelWidth;
-import org.apache.myfaces.tobago.taglib.decl.HasMarkup;
 
 import javax.servlet.jsp.JspException;
 import javax.servlet.jsp.tagext.BodyTagSupport;
@@ -60,8 +61,8 @@
 @ExtensionTag(baseClassName = "org.apache.myfaces.tobago.taglib.component.TextAreaTag")
 public class TextAreaExtensionTag extends BodyTagSupport
     implements HasValue, HasValueChangeListener, HasIdBindingAndRendered,
-    HasConverter, HasValidator, IsReadonly, IsDisabled, HasMarkup,
-    IsRequired, HasTip, HasLabel, HasLabelWidth, IsFocus, HasOnchange {
+    HasConverter, HasValidator, IsReadonly, IsDisabled, HasMarkup, IsRequired, 
+    HasTip, HasLabel, HasLabelWidth, IsFocus, HasOnchange, HasTabIndex {
 
   private String binding;
   private String converter;
@@ -78,6 +79,7 @@
   private String onchange;
   private String markup;
   private String labelWidth;
+  private String tabIndex;
 
   private LabelExtensionTag labelTag;
   private TextAreaTag textAreaTag;
@@ -87,6 +89,7 @@
 
     labelTag = new LabelExtensionTag();
     labelTag.setPageContext(pageContext);
+    labelTag.setRows("*");
     if (label != null) {
       labelTag.setValue(label);
     }
@@ -140,6 +143,9 @@
     if (markup != null) {
       textAreaTag.setMarkup(markup);
     }
+    if (tabIndex != null) {
+      textAreaTag.setTabIndex(tabIndex);
+    }
     textAreaTag.setParent(labelTag);
     textAreaTag.doStartTag();
 
@@ -171,6 +177,7 @@
     onchange = null;
     markup = null;
     valueChangeListener = null;
+    tabIndex = null;
     textAreaTag = null;
     labelTag = null;
   }
@@ -230,7 +237,12 @@
   public void setTip(String tip) {
     this.tip = tip;
   }
+  
   public void setLabelWidth(String labelWidth) {
     this.labelWidth = labelWidth;
+  }
+
+  public void setTabIndex(String tabIndex) {
+    this.tabIndex = tabIndex;
   }
 }