You are viewing a plain text version of this content. The canonical link for it is here.
Posted to adffaces-commits@incubator.apache.org by aw...@apache.org on 2006/10/27 22:06:12 UTC

svn commit: r468555 - in /incubator/adffaces/trunk/trinidad: trinidad-build/src/main/resources/META-INF/maven-faces-plugin/components/trinidad/core/ trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ trinidad-impl/src...

Author: awiner
Date: Fri Oct 27 15:06:11 2006
New Revision: 468555

URL: http://svn.apache.org/viewvc?view=rev&rev=468555
Log:
ADFFACES-265: add icon property to commandButton and goButton

Modified:
    incubator/adffaces/trunk/trinidad/trinidad-build/src/main/resources/META-INF/maven-faces-plugin/components/trinidad/core/CoreCommandButton.xml
    incubator/adffaces/trunk/trinidad/trinidad-build/src/main/resources/META-INF/maven-faces-plugin/components/trinidad/core/CoreGoButton.xml
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/CommandButtonRenderer.java
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/GoButtonRenderer.java
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/OutputUtils.java
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ResetButtonRenderer.java
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimal-golden.xml
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalIE-golden.xml
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalIERtl-golden.xml
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalInacc-golden.xml
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalPPC-golden.xml
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalSaf-golden.xml
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalScrRdr-golden.xml
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimal-golden.xml
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalIE-golden.xml
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalIERtl-golden.xml
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalInacc-golden.xml
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalPPC-golden.xml
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalSaf-golden.xml
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalScrRdr-golden.xml
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/testScripts/commandButton.xml
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/testScripts/goButton.xml

Modified: incubator/adffaces/trunk/trinidad/trinidad-build/src/main/resources/META-INF/maven-faces-plugin/components/trinidad/core/CoreCommandButton.xml
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-build/src/main/resources/META-INF/maven-faces-plugin/components/trinidad/core/CoreCommandButton.xml?view=diff&rev=468555&r1=468554&r2=468555
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-build/src/main/resources/META-INF/maven-faces-plugin/components/trinidad/core/CoreCommandButton.xml (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-build/src/main/resources/META-INF/maven-faces-plugin/components/trinidad/core/CoreCommandButton.xml Fri Oct 27 15:06:11 2006
@@ -111,6 +111,19 @@
       <property-class>boolean</property-class>
       <default-value>false</default-value>
     </property>
+    <property>
+      <description>
+        <![CDATA[An URL to an image to use for an icon displayed in the button.]]>
+      </description>
+      <property-name>icon</property-name>
+      <property-class>java.lang.String</property-class>
+      <property-extension>
+        <mfp:property-metadata>
+          <mfp:property-editor>IMAGE_URI</mfp:property-editor>
+          <mfp:unsupported-agents>phone voice</mfp:unsupported-agents>
+        </mfp:property-metadata>
+      </property-extension>
+    </property>
 
     <xi:include href="includes/CommonAttrs.xml" xpointer="/faces-config/component/*"/>
     <xi:include href="includes/CoreJSEvents.xml" xpointer="/faces-config/component/*"/>

Modified: incubator/adffaces/trunk/trinidad/trinidad-build/src/main/resources/META-INF/maven-faces-plugin/components/trinidad/core/CoreGoButton.xml
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-build/src/main/resources/META-INF/maven-faces-plugin/components/trinidad/core/CoreGoButton.xml?view=diff&rev=468555&r1=468554&r2=468555
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-build/src/main/resources/META-INF/maven-faces-plugin/components/trinidad/core/CoreGoButton.xml (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-build/src/main/resources/META-INF/maven-faces-plugin/components/trinidad/core/CoreGoButton.xml Fri Oct 27 15:06:11 2006
@@ -98,13 +98,17 @@
       <property-name>targetFrame</property-name>
       <property-class>java.lang.String</property-class>
     </property>
+
     <property>
-      <description><![CDATA[an onclick Javascript handler.]]></description>
-      <property-name>onclick</property-name>
+      <description>
+        <![CDATA[An URL to an image to use for an icon displayed in the button.]]>
+      </description>
+      <property-name>icon</property-name>
       <property-class>java.lang.String</property-class>
       <property-extension>
         <mfp:property-metadata>
-          <mfp:group>${md:getTranslatedString("EVENTS_GROUP")}</mfp:group>
+          <mfp:property-editor>IMAGE_URI</mfp:property-editor>
+          <mfp:unsupported-agents>phone voice</mfp:unsupported-agents>
         </mfp:property-metadata>
       </property-extension>
     </property>

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/CommandButtonRenderer.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/CommandButtonRenderer.java?view=diff&rev=468555&r1=468554&r2=468555
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/CommandButtonRenderer.java (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/CommandButtonRenderer.java Fri Oct 27 15:06:11 2006
@@ -41,6 +41,13 @@
     super(type);
   }
 
+  @Override
+  protected void findTypeConstants(FacesBean.Type type)
+  {
+    super.findTypeConstants(type);
+    _iconKey = type.findKey("icon");
+  }
+
 
   @Override
   public boolean getRendersChildren()
@@ -70,7 +77,18 @@
     ResponseWriter rw = context.getResponseWriter();
     rw.startElement(element, component);
     renderId(context, component);
-    rw.writeAttribute("type", useButtonTag ? getButtonType() : getInputType(), null);
+
+    // Write the text and access key
+    String text = getText(bean);
+    String icon = getIcon(bean);
+
+    if (useButtonTag)
+      rw.writeAttribute("type", getButtonType(), null);
+    else if (icon != null)
+      rw.writeAttribute("type", "image", null);
+    else
+      rw.writeAttribute("type", getInputType(), null);
+
     if (getDisabled(bean))
     {
       rw.writeAttribute("disabled", Boolean.TRUE, "disabled");
@@ -82,8 +100,6 @@
       renderAllAttributes(context, arc, bean);
     }
 
-    // Write the text and access key
-    String text = getText(bean);
     char accessKey;
     if (supportsAccessKeys(arc))
     {
@@ -103,14 +119,24 @@
     if (useButtonTag)
     {
       AccessKeyUtils.renderAccessKeyText(context,
-                                         getText(bean),
+                                         text,
                                          accessKey,
                                          SkinSelectors.AF_ACCESSKEY_STYLE_CLASS);
+      if (icon != null)
+        OutputUtils.renderImage(context, arc, icon, null, null, null,
+                                getShortDesc(bean));
     }
     else
     {
-      rw.writeAttribute("value", text, "text");
-    }          
+      if (icon != null)
+      {
+        renderEncodedResourceURI(context, "src", icon);
+      }
+      else
+      {
+        rw.writeAttribute("value", text, "text");
+      }
+    }
 
     rw.endElement(element);
   }
@@ -206,6 +232,13 @@
   {
     return SkinSelectors.AF_COMMAND_BUTTON_STYLE_CLASS;
   }
+
+  protected String getIcon(FacesBean bean)
+  {
+    return toUri(bean.getProperty(_iconKey));
+  }
+
+  private PropertyKey _iconKey;
 
   static private final List<String> _DISABLED_STATE_LIST =
     Collections.singletonList(SkinSelectors.STATE_DISABLED);

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/GoButtonRenderer.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/GoButtonRenderer.java?view=diff&rev=468555&r1=468554&r2=468555
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/GoButtonRenderer.java (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/GoButtonRenderer.java Fri Oct 27 15:06:11 2006
@@ -1,280 +1,299 @@
-/*
- * Copyright  2005,2006 The Apache Software Foundation.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.myfaces.trinidadinternal.renderkit.core.xhtml;
-
-import java.io.IOException;
-
-import java.util.Collections;
-import java.util.List;
-
-import javax.faces.component.UIComponent;
-import javax.faces.context.FacesContext;
-import javax.faces.context.ResponseWriter;
-
-import org.apache.myfaces.trinidad.bean.FacesBean;
-import org.apache.myfaces.trinidad.bean.PropertyKey;
-import org.apache.myfaces.trinidad.component.core.nav.CoreGoButton;
-import org.apache.myfaces.trinidad.context.RenderingContext;
-
-/**
- * FIXME: the inheritance hierarchy is a bit annoying:  should
- * we extend CommandButtonRenderer or GoLinkRenderer?  Either
- * way, there's a fair bit of duplicated code
- */
-public class GoButtonRenderer extends GoLinkRenderer
-{
-  public GoButtonRenderer()
-  {
-    this(CoreGoButton.TYPE);
-  }
-
-  protected GoButtonRenderer(FacesBean.Type type)
-  {
-    super(type);
-  }
-
-
-  @Override
-  public boolean getRendersChildren()
-  {
-    return true;
-  }
-
-  @Override
-  protected void encodeAll(
-    FacesContext        context,
-    RenderingContext    arc,
-    UIComponent         component,
-    FacesBean           bean) throws IOException
-  {
-    String clientId = component.getClientId(context);
-    // Make sure we don't have anything to save
-    assert(arc.getCurrentClientId() == null);
-    arc.setCurrentClientId(clientId);
- 
-    boolean useButtonTag = useButtonTags(arc);
-    String element = useButtonTag ? "button" : "a";
-    ResponseWriter rw = context.getResponseWriter();
-    rw.startElement(element, component);
-    renderId(context, component);
-    boolean disabled = getDisabled(bean);
-    if (useButtonTag)
-    {
-      rw.writeAttribute("type", "button", null);
-      if (disabled)
-        rw.writeAttribute("disabled", Boolean.TRUE, "disabled");
-    }
-    else
-    {
-      renderEncodedActionURI(context, "href", getDestination(bean));
-    }
-
-    if (disabled || !supportsNavigation(arc))
-    {
-      // Skip over event attributes when disabled
-      renderStyleAttributes(context, arc, bean);
-    }
-    else
-    {
-      renderAllAttributes(context, arc, bean);
-      if (useButtonTag)
-      {
-        rw.writeAttribute("onclick", getButtonOnclick(bean), null);
-      }
-      else
-      {
-        if (supportsTarget(arc))
-        {
-          rw.writeAttribute("target", getTargetFrame(bean), null);
-        }
-      }
-    }
-
-    // Write the text and access key
-    String text = getText(bean);
-    char accessKey;
-    if (supportsAccessKeys(arc))
-    {
-      accessKey = getAccessKey(bean);
-      if (accessKey != CHAR_UNDEFINED)
-      {
-        rw.writeAttribute("accesskey",
-                          new Character(accessKey),
-                          "accessKey");
-      }                   
-    }
-    else
-    {
-      accessKey = CHAR_UNDEFINED;
-    }
-
-    AccessKeyUtils.renderAccessKeyText(context,
-                                       getText(bean),
-                                       accessKey,
-                                       SkinSelectors.AF_ACCESSKEY_STYLE_CLASS);
-
-    rw.endElement(element);
-  }
-
-    
-  protected boolean useButtonTags(RenderingContext arc)
-  {
-    return (supportsScripting(arc) &&
-            supportsAdvancedForms(arc) &&
-            supportsIntrinsicEvents(arc));
-            
-  }
-
-  /**
-   * Override to return any state-based (selected, disabled, etc.)
-   * CSS style markers.  HINT: use an immutable, cached List<String>
-   * for better performance.
-   */
-  protected List<String> getStateStyleClasses(
-    FacesContext        context,
-    RenderingContext arc,
-    FacesBean           bean)
-  {
-    if (getDisabled(bean))
-      return _DISABLED_STATE_LIST;
-    return null;
-  }
-
-  // FIXME: move this implementation to XhtmlRenderer
-  protected void renderStyleAttributes(
-    FacesContext        context,
-    RenderingContext    arc,
-    FacesBean           bean,
-    String              defaultStyleClass) throws IOException
-  {
-    String styleClass = getStyleClass(bean);
-    String inlineStyle = getInlineStyle(bean);
-    List<String> stateStyleClasses = getStateStyleClasses(context, arc, bean);
-
-    if ((styleClass==null) && 
-        (defaultStyleClass != null) && 
-        (stateStyleClasses == null))
-    {
-      renderStyleClass(context, arc, defaultStyleClass);
-    }
-    else
-    {
-      int numStates =   ((stateStyleClasses != null) ? 
-                         stateStyleClasses.size() : 0);
-      int numClasses = ((styleClass != null) ? 1 : 0) +
-                        ((defaultStyleClass != null) ? 1 : 0) +
-                        numStates;
-      if (numClasses > 0)
-      {
-        // set all the styleClasses in one array so we can pass it to 
-        // renderStyleClasses
-        String[] styleClasses = new String[numClasses];
-        
-        int i=0;
-        if (styleClass != null)
-          styleClasses[i++] = styleClass;
-        if (defaultStyleClass != null)
-          styleClasses[i++] = defaultStyleClass;
-         
-        for (int j=0; j < numStates; j++, i++)
-        {
-          styleClasses[i] = stateStyleClasses.get(j);
-        }        
-
-        renderStyleClasses(context, arc, styleClasses);         
-      }
-    }
-
-    String style = getInlineStyle(bean);
-    if (style != null)
-    {
-      context.getResponseWriter().writeAttribute("style",
-                                                 style,
-                                                 "inlineStyle");
-    }
-  }
-
-  @Override
-  protected String getOnclick(FacesBean bean)
-  {
-    return null;
-  }
-
-  protected String getButtonOnclick(FacesBean bean)
-  {
-    String base = super.getOnclick(bean);
-    String destination = getDestination(bean);
-    if (destination == null)
-      return base;
-    
-    destination = FacesContext.getCurrentInstance().
-      getExternalContext().encodeActionURL(destination);
-    String onclickJS = null;
-
-    if ((destination.length()) > 11 &&
-        "javascript:".equalsIgnoreCase(destination.substring(0,11)))
-    {
-      onclickJS = destination.substring(11);      
-    }
-    else
-    {
-      // Escape the destination in case there's any quotes
-      destination = destination.replace("'", "\\'");
-
-      String targetFrame = getTargetFrame(bean);
-      // Look for target frames with well-known names, like
-      // _self, _top, _parent, _blank, and _new.  (_new
-      // is actually non-standard, but often used for _blank)
-      if (targetFrame != null && !"_self".equals(targetFrame))
-      {
-        if ("_top".equals(targetFrame))
-        {
-          onclickJS = "top.location='" + destination + "'";
-        }
-        else if ("_parent".equals(targetFrame))
-        {
-          onclickJS = "parent.location='" + destination + "'";
-        }
-        else if ("_blank".equals(targetFrame) || "_new".equals(targetFrame))
-        {
-          onclickJS = "window.open('" + destination + "')";
-        }
-        else
-        {
-          onclickJS = "top["         +
-            targetFrame    +
-            "].location='" +
-            destination    +
-            "'";
-        }
-      }
-      else
-      {
-        onclickJS = "document.location='" + destination + "'";
-      }
-    }
-
-    return XhtmlUtils.getChainedJS(base, onclickJS, true);
-  }
-
-  protected String getDefaultStyleClass(FacesBean bean)
-  {
-    return SkinSelectors.AF_GO_BUTTON_STYLE_CLASS;
-  }
-
-  static private final List<String> _DISABLED_STATE_LIST =
-    Collections.singletonList(SkinSelectors.STATE_DISABLED);
-}
+/*
+ * Copyright  2005,2006 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.myfaces.trinidadinternal.renderkit.core.xhtml;
+
+import java.io.IOException;
+
+import java.util.Collections;
+import java.util.List;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
+
+import org.apache.myfaces.trinidad.bean.FacesBean;
+import org.apache.myfaces.trinidad.bean.PropertyKey;
+import org.apache.myfaces.trinidad.component.core.nav.CoreGoButton;
+import org.apache.myfaces.trinidad.context.RenderingContext;
+
+/**
+ * FIXME: the inheritance hierarchy is a bit annoying:  should
+ * we extend CommandButtonRenderer or GoLinkRenderer?  Either
+ * way, there's a fair bit of duplicated code
+ */
+public class GoButtonRenderer extends GoLinkRenderer
+{
+  public GoButtonRenderer()
+  {
+    this(CoreGoButton.TYPE);
+  }
+
+  protected GoButtonRenderer(FacesBean.Type type)
+  {
+    super(type);
+  }
+
+  @Override
+  protected void findTypeConstants(FacesBean.Type type)
+  {
+    super.findTypeConstants(type);
+    _iconKey = type.findKey("icon");
+  }
+
+
+  @Override
+  public boolean getRendersChildren()
+  {
+    return true;
+  }
+
+  @Override
+  protected void encodeAll(
+    FacesContext        context,
+    RenderingContext    arc,
+    UIComponent         component,
+    FacesBean           bean) throws IOException
+  {
+    String clientId = component.getClientId(context);
+    // Make sure we don't have anything to save
+    assert(arc.getCurrentClientId() == null);
+    arc.setCurrentClientId(clientId);
+ 
+    boolean useButtonTag = useButtonTags(arc);
+    String element = useButtonTag ? "button" : "a";
+    ResponseWriter rw = context.getResponseWriter();
+    rw.startElement(element, component);
+    renderId(context, component);
+    boolean disabled = getDisabled(bean);
+    if (useButtonTag)
+    {
+      rw.writeAttribute("type", "button", null);
+      if (disabled)
+        rw.writeAttribute("disabled", Boolean.TRUE, "disabled");
+    }
+    else
+    {
+      renderEncodedActionURI(context, "href", getDestination(bean));
+    }
+
+    if (disabled || !supportsNavigation(arc))
+    {
+      // Skip over event attributes when disabled
+      renderStyleAttributes(context, arc, bean);
+    }
+    else
+    {
+      renderAllAttributes(context, arc, bean);
+      if (useButtonTag)
+      {
+        rw.writeAttribute("onclick", getButtonOnclick(bean), null);
+      }
+      else
+      {
+        if (supportsTarget(arc))
+        {
+          rw.writeAttribute("target", getTargetFrame(bean), null);
+        }
+      }
+    }
+
+    // Write the text and access key
+    String text = getText(bean);
+    char accessKey;
+    if (supportsAccessKeys(arc))
+    {
+      accessKey = getAccessKey(bean);
+      if (accessKey != CHAR_UNDEFINED)
+      {
+        rw.writeAttribute("accesskey",
+                          new Character(accessKey),
+                          "accessKey");
+      }                   
+    }
+    else
+    {
+      accessKey = CHAR_UNDEFINED;
+    }
+
+    AccessKeyUtils.renderAccessKeyText(context,
+                                       getText(bean),
+                                       accessKey,
+                                       SkinSelectors.AF_ACCESSKEY_STYLE_CLASS);
+
+    String icon = getIcon(bean);
+    if (icon != null)
+      OutputUtils.renderImage(context, arc, icon, null, null, null,
+                              getShortDesc(bean));
+
+    rw.endElement(element);
+  }
+
+    
+  protected boolean useButtonTags(RenderingContext arc)
+  {
+    return (supportsScripting(arc) &&
+            supportsAdvancedForms(arc) &&
+            supportsIntrinsicEvents(arc));
+            
+  }
+
+  /**
+   * Override to return any state-based (selected, disabled, etc.)
+   * CSS style markers.  HINT: use an immutable, cached List<String>
+   * for better performance.
+   */
+  protected List<String> getStateStyleClasses(
+    FacesContext        context,
+    RenderingContext arc,
+    FacesBean           bean)
+  {
+    if (getDisabled(bean))
+      return _DISABLED_STATE_LIST;
+    return null;
+  }
+
+  // FIXME: move this implementation to XhtmlRenderer
+  protected void renderStyleAttributes(
+    FacesContext        context,
+    RenderingContext    arc,
+    FacesBean           bean,
+    String              defaultStyleClass) throws IOException
+  {
+    String styleClass = getStyleClass(bean);
+    String inlineStyle = getInlineStyle(bean);
+    List<String> stateStyleClasses = getStateStyleClasses(context, arc, bean);
+
+    if ((styleClass==null) && 
+        (defaultStyleClass != null) && 
+        (stateStyleClasses == null))
+    {
+      renderStyleClass(context, arc, defaultStyleClass);
+    }
+    else
+    {
+      int numStates =   ((stateStyleClasses != null) ? 
+                         stateStyleClasses.size() : 0);
+      int numClasses = ((styleClass != null) ? 1 : 0) +
+                        ((defaultStyleClass != null) ? 1 : 0) +
+                        numStates;
+      if (numClasses > 0)
+      {
+        // set all the styleClasses in one array so we can pass it to 
+        // renderStyleClasses
+        String[] styleClasses = new String[numClasses];
+        
+        int i=0;
+        if (styleClass != null)
+          styleClasses[i++] = styleClass;
+        if (defaultStyleClass != null)
+          styleClasses[i++] = defaultStyleClass;
+         
+        for (int j=0; j < numStates; j++, i++)
+        {
+          styleClasses[i] = stateStyleClasses.get(j);
+        }        
+
+        renderStyleClasses(context, arc, styleClasses);         
+      }
+    }
+
+    String style = getInlineStyle(bean);
+    if (style != null)
+    {
+      context.getResponseWriter().writeAttribute("style",
+                                                 style,
+                                                 "inlineStyle");
+    }
+  }
+
+  @Override
+  protected String getOnclick(FacesBean bean)
+  {
+    return null;
+  }
+
+  protected String getButtonOnclick(FacesBean bean)
+  {
+    String base = super.getOnclick(bean);
+    String destination = getDestination(bean);
+    if (destination == null)
+      return base;
+    
+    destination = FacesContext.getCurrentInstance().
+      getExternalContext().encodeActionURL(destination);
+    String onclickJS = null;
+
+    if ((destination.length()) > 11 &&
+        "javascript:".equalsIgnoreCase(destination.substring(0,11)))
+    {
+      onclickJS = destination.substring(11);      
+    }
+    else
+    {
+      // Escape the destination in case there's any quotes
+      destination = destination.replace("'", "\\'");
+
+      String targetFrame = getTargetFrame(bean);
+      // Look for target frames with well-known names, like
+      // _self, _top, _parent, _blank, and _new.  (_new
+      // is actually non-standard, but often used for _blank)
+      if (targetFrame != null && !"_self".equals(targetFrame))
+      {
+        if ("_top".equals(targetFrame))
+        {
+          onclickJS = "top.location='" + destination + "'";
+        }
+        else if ("_parent".equals(targetFrame))
+        {
+          onclickJS = "parent.location='" + destination + "'";
+        }
+        else if ("_blank".equals(targetFrame) || "_new".equals(targetFrame))
+        {
+          onclickJS = "window.open('" + destination + "')";
+        }
+        else
+        {
+          onclickJS = "top["         +
+            targetFrame    +
+            "].location='" +
+            destination    +
+            "'";
+        }
+      }
+      else
+      {
+        onclickJS = "document.location='" + destination + "'";
+      }
+    }
+
+    return XhtmlUtils.getChainedJS(base, onclickJS, true);
+  }
+
+  protected String getDefaultStyleClass(FacesBean bean)
+  {
+    return SkinSelectors.AF_GO_BUTTON_STYLE_CLASS;
+  }
+
+  protected String getIcon(FacesBean bean)
+  {
+    return toUri(bean.getProperty(_iconKey));
+  }
+
+  private PropertyKey _iconKey;
+
+  static private final List<String> _DISABLED_STATE_LIST =
+    Collections.singletonList(SkinSelectors.STATE_DISABLED);
+}

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/OutputUtils.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/OutputUtils.java?view=diff&rev=468555&r1=468554&r2=468555
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/OutputUtils.java (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/OutputUtils.java Fri Oct 27 15:06:11 2006
@@ -268,11 +268,18 @@
     UIComponent         comp
     ) throws IOException
   {
+    if (absoluteUri == null)
+      return;
+
     ResponseWriter writer = context.getResponseWriter();
 
     writer.startElement("img", comp);
     writer.writeAttribute("id", id, null);
-    // TODO: writeURIAttribute here
+    // Run through the ExternalContext resource URL encoder
+    /* Temporarily comment out to avoid unnecessary diffs while
+       doing "icon" work on goButton and commandButton
+    absoluteUri = context.getExternalContext().encodeResourceURL(
+      absoluteUri.toString());*/
     writer.writeAttribute("src", absoluteUri, null);
 
     renderAltAndTooltipForImage(context, arc, altText);

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ResetButtonRenderer.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ResetButtonRenderer.java?view=diff&rev=468555&r1=468554&r2=468555
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ResetButtonRenderer.java (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ResetButtonRenderer.java Fri Oct 27 15:06:11 2006
@@ -36,11 +36,13 @@
     super(CoreResetButton.TYPE);
   }
 
+  @Override
   protected String getButtonType()
   {
     return "reset";
   }
 
+  @Override
   protected String getInputType()
   {
     return "reset";
@@ -67,11 +69,19 @@
     return onclick;
   }
 
+  @Override
   protected String getDefaultStyleClass(FacesBean bean)
   {
     return SkinSelectors.AF_RESET_BUTTON_STYLE_CLASS;
   }
 
+  @Override
+  protected String getIcon(FacesBean bean)
+  {
+    return null;
+  }
+
+  @Override
   protected boolean getPartialSubmit(FacesBean bean)
   {
     return false;

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimal-golden.xml
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimal-golden.xml?view=diff&rev=468555&r1=468554&r2=468555
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimal-golden.xml (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimal-golden.xml Fri Oct 27 15:06:11 2006
@@ -95,17 +95,6 @@
           >
         ButtonText
       </button>
-<!--AttributeTest[textAndAccessKey,B&uttonText]-->
-
-      <button
-           class="af_commandButton"
-           onclick="submitForm('formId',1,{source:'mainId'});return false;"
-           type="button"
-           id="uri-attr:mainId"
-           name="uri-attr:mainId"
-          >
-        ButtonText
-      </button>
 <!--AttributeTest[windowHeight,100]-->
 
       <button
@@ -173,6 +162,22 @@
            name="uri-attr:mainId"
           >
         ButtonText
+      </button>
+<!--AttributeTest[icon,/foo.gif]-->
+
+      <button
+           class="af_commandButton"
+           onclick="submitForm('formId',1,{source:'mainId'});return false;"
+           type="button"
+           id="uri-attr:mainId"
+           name="uri-attr:mainId"
+          >
+        ButtonText
+        <img
+             src="/test-context-path/foo.gif"
+            >
+          
+        </img>
       </button>
 <!--AttributeTest[onclick,null]-->
 

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalIE-golden.xml
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalIE-golden.xml?view=diff&rev=468555&r1=468554&r2=468555
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalIE-golden.xml (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalIE-golden.xml Fri Oct 27 15:06:11 2006
@@ -95,17 +95,6 @@
           >
         ButtonText
       </button>
-<!--AttributeTest[textAndAccessKey,B&uttonText]-->
-
-      <button
-           class="af_commandButton"
-           onclick="submitForm('formId',1,{source:'mainId'});return false;"
-           type="button"
-           id="uri-attr:mainId"
-           name="uri-attr:mainId"
-          >
-        ButtonText
-      </button>
 <!--AttributeTest[windowHeight,100]-->
 
       <button
@@ -173,6 +162,22 @@
            name="uri-attr:mainId"
           >
         ButtonText
+      </button>
+<!--AttributeTest[icon,/foo.gif]-->
+
+      <button
+           class="af_commandButton"
+           onclick="submitForm('formId',1,{source:'mainId'});return false;"
+           type="button"
+           id="uri-attr:mainId"
+           name="uri-attr:mainId"
+          >
+        ButtonText
+        <img
+             src="/test-context-path/foo.gif"
+            >
+          
+        </img>
       </button>
 <!--AttributeTest[onclick,null]-->
 

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalIERtl-golden.xml
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalIERtl-golden.xml?view=diff&rev=468555&r1=468554&r2=468555
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalIERtl-golden.xml (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalIERtl-golden.xml Fri Oct 27 15:06:11 2006
@@ -95,17 +95,6 @@
           >
         ButtonText
       </button>
-<!--AttributeTest[textAndAccessKey,B&uttonText]-->
-
-      <button
-           class="af_commandButton"
-           onclick="submitForm('formId',1,{source:'mainId'});return false;"
-           type="button"
-           id="uri-attr:mainId"
-           name="uri-attr:mainId"
-          >
-        ButtonText
-      </button>
 <!--AttributeTest[windowHeight,100]-->
 
       <button
@@ -173,6 +162,22 @@
            name="uri-attr:mainId"
           >
         ButtonText
+      </button>
+<!--AttributeTest[icon,/foo.gif]-->
+
+      <button
+           class="af_commandButton"
+           onclick="submitForm('formId',1,{source:'mainId'});return false;"
+           type="button"
+           id="uri-attr:mainId"
+           name="uri-attr:mainId"
+          >
+        ButtonText
+        <img
+             src="/test-context-path/foo.gif"
+            >
+          
+        </img>
       </button>
 <!--AttributeTest[onclick,null]-->
 

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalInacc-golden.xml
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalInacc-golden.xml?view=diff&rev=468555&r1=468554&r2=468555
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalInacc-golden.xml (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalInacc-golden.xml Fri Oct 27 15:06:11 2006
@@ -95,17 +95,6 @@
           >
         ButtonText
       </button>
-<!--AttributeTest[textAndAccessKey,B&uttonText]-->
-
-      <button
-           class="af_commandButton"
-           onclick="submitForm('formId',1,{source:'mainId'});return false;"
-           type="button"
-           id="uri-attr:mainId"
-           name="uri-attr:mainId"
-          >
-        ButtonText
-      </button>
 <!--AttributeTest[windowHeight,100]-->
 
       <button
@@ -173,6 +162,22 @@
            name="uri-attr:mainId"
           >
         ButtonText
+      </button>
+<!--AttributeTest[icon,/foo.gif]-->
+
+      <button
+           class="af_commandButton"
+           onclick="submitForm('formId',1,{source:'mainId'});return false;"
+           type="button"
+           id="uri-attr:mainId"
+           name="uri-attr:mainId"
+          >
+        ButtonText
+        <img
+             src="/test-context-path/foo.gif"
+            >
+          
+        </img>
       </button>
 <!--AttributeTest[onclick,null]-->
 

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalPPC-golden.xml
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalPPC-golden.xml?view=diff&rev=468555&r1=468554&r2=468555
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalPPC-golden.xml (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalPPC-golden.xml Fri Oct 27 15:06:11 2006
@@ -97,18 +97,6 @@
           >
         
       </input>
-<!--AttributeTest[textAndAccessKey,B&uttonText]-->
-
-      <input
-           class="af_commandButton"
-           onclick="submitForm('formId',1,{source:'mainId'});return false;"
-           type="submit"
-           value="ButtonText"
-           id="uri-attr:mainId"
-           name="uri-attr:mainId"
-          >
-        
-      </input>
 <!--AttributeTest[windowHeight,100]-->
 
       <input
@@ -180,6 +168,18 @@
            value="ButtonText"
            id="uri-attr:mainId"
            name="uri-attr:mainId"
+          >
+        
+      </input>
+<!--AttributeTest[icon,/foo.gif]-->
+
+      <input
+           class="af_commandButton"
+           onclick="submitForm('formId',1,{source:'mainId'});return false;"
+           type="image"
+           id="uri-attr:mainId"
+           name="uri-attr:mainId"
+           src="uri-attr:encoded-resource-url:/test-context-path/foo.gif"
           >
         
       </input>

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalSaf-golden.xml
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalSaf-golden.xml?view=diff&rev=468555&r1=468554&r2=468555
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalSaf-golden.xml (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalSaf-golden.xml Fri Oct 27 15:06:11 2006
@@ -95,17 +95,6 @@
           >
         ButtonText
       </button>
-<!--AttributeTest[textAndAccessKey,B&uttonText]-->
-
-      <button
-           class="af_commandButton"
-           onclick="submitForm('formId',1,{source:'mainId'});return false;"
-           type="button"
-           id="uri-attr:mainId"
-           name="uri-attr:mainId"
-          >
-        ButtonText
-      </button>
 <!--AttributeTest[windowHeight,100]-->
 
       <button
@@ -173,6 +162,22 @@
            name="uri-attr:mainId"
           >
         ButtonText
+      </button>
+<!--AttributeTest[icon,/foo.gif]-->
+
+      <button
+           class="af_commandButton"
+           onclick="submitForm('formId',1,{source:'mainId'});return false;"
+           type="button"
+           id="uri-attr:mainId"
+           name="uri-attr:mainId"
+          >
+        ButtonText
+        <img
+             src="/test-context-path/foo.gif"
+            >
+          
+        </img>
       </button>
 <!--AttributeTest[onclick,null]-->
 

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalScrRdr-golden.xml
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalScrRdr-golden.xml?view=diff&rev=468555&r1=468554&r2=468555
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalScrRdr-golden.xml (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/commandButton-minimalScrRdr-golden.xml Fri Oct 27 15:06:11 2006
@@ -90,17 +90,6 @@
           >
         ButtonText
       </button>
-<!--AttributeTest[textAndAccessKey,B&uttonText]-->
-
-      <button
-           class="af_commandButton"
-           onclick="submitForm('formId',1,{source:'mainId'});return false;"
-           type="button"
-           id="uri-attr:mainId"
-           name="uri-attr:mainId"
-          >
-        ButtonText
-      </button>
 <!--AttributeTest[windowHeight,100]-->
 
       <button
@@ -168,6 +157,22 @@
            name="uri-attr:mainId"
           >
         ButtonText
+      </button>
+<!--AttributeTest[icon,/foo.gif]-->
+
+      <button
+           class="af_commandButton"
+           onclick="submitForm('formId',1,{source:'mainId'});return false;"
+           type="button"
+           id="uri-attr:mainId"
+           name="uri-attr:mainId"
+          >
+        ButtonText
+        <img
+             src="/test-context-path/foo.gif"
+            >
+          
+        </img>
       </button>
 <!--AttributeTest[onclick,null]-->
 

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimal-golden.xml
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimal-golden.xml?view=diff&rev=468555&r1=468554&r2=468555
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimal-golden.xml (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimal-golden.xml Fri Oct 27 15:06:11 2006
@@ -47,17 +47,6 @@
           >
         ButtonText
       </button>
-<!--AttributeTest[longDesc,my long desc]-->
-
-      <button
-           class="af_goButton"
-           onclick="document.location='encoded-action-url:http://www.oracle.com'"
-           type="button"
-           id="uri-attr:mainId"
-           name="uri-attr:mainId"
-          >
-        ButtonText
-      </button>
 <!--AttributeTest[targetFrame,mytarget]-->
 
       <button
@@ -69,17 +58,6 @@
           >
         ButtonText
       </button>
-<!--AttributeTest[textAndAccessKey,B&uttonText]-->
-
-      <button
-           class="af_goButton"
-           onclick="document.location='encoded-action-url:http://www.oracle.com'"
-           type="button"
-           id="uri-attr:mainId"
-           name="uri-attr:mainId"
-          >
-        ButtonText
-      </button>
 <!--AttributeTest[id,myid]-->
 
       <button
@@ -113,6 +91,22 @@
            name="uri-attr:mainId"
           >
         ButtonText
+      </button>
+<!--AttributeTest[icon,/foo.gif]-->
+
+      <button
+           class="af_goButton"
+           onclick="document.location='encoded-action-url:http://www.oracle.com'"
+           type="button"
+           id="uri-attr:mainId"
+           name="uri-attr:mainId"
+          >
+        ButtonText
+        <img
+             src="/test-context-path/foo.gif"
+            >
+          
+        </img>
       </button>
 <!--AttributeTest[onblur,null]-->
 

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalIE-golden.xml
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalIE-golden.xml?view=diff&rev=468555&r1=468554&r2=468555
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalIE-golden.xml (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalIE-golden.xml Fri Oct 27 15:06:11 2006
@@ -47,17 +47,6 @@
           >
         ButtonText
       </button>
-<!--AttributeTest[longDesc,my long desc]-->
-
-      <button
-           class="af_goButton"
-           onclick="document.location='encoded-action-url:http://www.oracle.com'"
-           type="button"
-           id="uri-attr:mainId"
-           name="uri-attr:mainId"
-          >
-        ButtonText
-      </button>
 <!--AttributeTest[targetFrame,mytarget]-->
 
       <button
@@ -69,17 +58,6 @@
           >
         ButtonText
       </button>
-<!--AttributeTest[textAndAccessKey,B&uttonText]-->
-
-      <button
-           class="af_goButton"
-           onclick="document.location='encoded-action-url:http://www.oracle.com'"
-           type="button"
-           id="uri-attr:mainId"
-           name="uri-attr:mainId"
-          >
-        ButtonText
-      </button>
 <!--AttributeTest[id,myid]-->
 
       <button
@@ -113,6 +91,22 @@
            name="uri-attr:mainId"
           >
         ButtonText
+      </button>
+<!--AttributeTest[icon,/foo.gif]-->
+
+      <button
+           class="af_goButton"
+           onclick="document.location='encoded-action-url:http://www.oracle.com'"
+           type="button"
+           id="uri-attr:mainId"
+           name="uri-attr:mainId"
+          >
+        ButtonText
+        <img
+             src="/test-context-path/foo.gif"
+            >
+          
+        </img>
       </button>
 <!--AttributeTest[onblur,null]-->
 

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalIERtl-golden.xml
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalIERtl-golden.xml?view=diff&rev=468555&r1=468554&r2=468555
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalIERtl-golden.xml (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalIERtl-golden.xml Fri Oct 27 15:06:11 2006
@@ -47,17 +47,6 @@
           >
         ButtonText
       </button>
-<!--AttributeTest[longDesc,my long desc]-->
-
-      <button
-           class="af_goButton"
-           onclick="document.location='encoded-action-url:http://www.oracle.com'"
-           type="button"
-           id="uri-attr:mainId"
-           name="uri-attr:mainId"
-          >
-        ButtonText
-      </button>
 <!--AttributeTest[targetFrame,mytarget]-->
 
       <button
@@ -69,17 +58,6 @@
           >
         ButtonText
       </button>
-<!--AttributeTest[textAndAccessKey,B&uttonText]-->
-
-      <button
-           class="af_goButton"
-           onclick="document.location='encoded-action-url:http://www.oracle.com'"
-           type="button"
-           id="uri-attr:mainId"
-           name="uri-attr:mainId"
-          >
-        ButtonText
-      </button>
 <!--AttributeTest[id,myid]-->
 
       <button
@@ -113,6 +91,22 @@
            name="uri-attr:mainId"
           >
         ButtonText
+      </button>
+<!--AttributeTest[icon,/foo.gif]-->
+
+      <button
+           class="af_goButton"
+           onclick="document.location='encoded-action-url:http://www.oracle.com'"
+           type="button"
+           id="uri-attr:mainId"
+           name="uri-attr:mainId"
+          >
+        ButtonText
+        <img
+             src="/test-context-path/foo.gif"
+            >
+          
+        </img>
       </button>
 <!--AttributeTest[onblur,null]-->
 

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalInacc-golden.xml
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalInacc-golden.xml?view=diff&rev=468555&r1=468554&r2=468555
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalInacc-golden.xml (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalInacc-golden.xml Fri Oct 27 15:06:11 2006
@@ -47,17 +47,6 @@
           >
         ButtonText
       </button>
-<!--AttributeTest[longDesc,my long desc]-->
-
-      <button
-           class="af_goButton"
-           onclick="document.location='encoded-action-url:http://www.oracle.com'"
-           type="button"
-           id="uri-attr:mainId"
-           name="uri-attr:mainId"
-          >
-        ButtonText
-      </button>
 <!--AttributeTest[targetFrame,mytarget]-->
 
       <button
@@ -69,17 +58,6 @@
           >
         ButtonText
       </button>
-<!--AttributeTest[textAndAccessKey,B&uttonText]-->
-
-      <button
-           class="af_goButton"
-           onclick="document.location='encoded-action-url:http://www.oracle.com'"
-           type="button"
-           id="uri-attr:mainId"
-           name="uri-attr:mainId"
-          >
-        ButtonText
-      </button>
 <!--AttributeTest[id,myid]-->
 
       <button
@@ -113,6 +91,22 @@
            name="uri-attr:mainId"
           >
         ButtonText
+      </button>
+<!--AttributeTest[icon,/foo.gif]-->
+
+      <button
+           class="af_goButton"
+           onclick="document.location='encoded-action-url:http://www.oracle.com'"
+           type="button"
+           id="uri-attr:mainId"
+           name="uri-attr:mainId"
+          >
+        ButtonText
+        <img
+             src="/test-context-path/foo.gif"
+            >
+          
+        </img>
       </button>
 <!--AttributeTest[onblur,null]-->
 

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalPPC-golden.xml
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalPPC-golden.xml?view=diff&rev=468555&r1=468554&r2=468555
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalPPC-golden.xml (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalPPC-golden.xml Fri Oct 27 15:06:11 2006
@@ -37,16 +37,6 @@
           >
         ButtonText
       </a>
-<!--AttributeTest[longDesc,my long desc]-->
-
-      <a
-           class="af_goButton"
-           href="uri-attr:encoded-action-url:http://www.oracle.com"
-           id="uri-attr:mainId"
-           name="uri-attr:mainId"
-          >
-        ButtonText
-      </a>
 <!--AttributeTest[targetFrame,mytarget]-->
 
       <a
@@ -57,16 +47,6 @@
           >
         ButtonText
       </a>
-<!--AttributeTest[textAndAccessKey,B&uttonText]-->
-
-      <a
-           class="af_goButton"
-           href="uri-attr:encoded-action-url:http://www.oracle.com"
-           id="uri-attr:mainId"
-           name="uri-attr:mainId"
-          >
-        ButtonText
-      </a>
 <!--AttributeTest[id,myid]-->
 
       <a
@@ -97,6 +77,21 @@
            name="uri-attr:mainId"
           >
         ButtonText
+      </a>
+<!--AttributeTest[icon,/foo.gif]-->
+
+      <a
+           class="af_goButton"
+           href="uri-attr:encoded-action-url:http://www.oracle.com"
+           id="uri-attr:mainId"
+           name="uri-attr:mainId"
+          >
+        ButtonText
+        <img
+             src="/test-context-path/foo.gif"
+            >
+          
+        </img>
       </a>
 <!--AttributeTest[onblur,null]-->
 

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalSaf-golden.xml
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalSaf-golden.xml?view=diff&rev=468555&r1=468554&r2=468555
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalSaf-golden.xml (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalSaf-golden.xml Fri Oct 27 15:06:11 2006
@@ -47,17 +47,6 @@
           >
         ButtonText
       </button>
-<!--AttributeTest[longDesc,my long desc]-->
-
-      <button
-           class="af_goButton"
-           onclick="document.location='encoded-action-url:http://www.oracle.com'"
-           type="button"
-           id="uri-attr:mainId"
-           name="uri-attr:mainId"
-          >
-        ButtonText
-      </button>
 <!--AttributeTest[targetFrame,mytarget]-->
 
       <button
@@ -69,17 +58,6 @@
           >
         ButtonText
       </button>
-<!--AttributeTest[textAndAccessKey,B&uttonText]-->
-
-      <button
-           class="af_goButton"
-           onclick="document.location='encoded-action-url:http://www.oracle.com'"
-           type="button"
-           id="uri-attr:mainId"
-           name="uri-attr:mainId"
-          >
-        ButtonText
-      </button>
 <!--AttributeTest[id,myid]-->
 
       <button
@@ -113,6 +91,22 @@
            name="uri-attr:mainId"
           >
         ButtonText
+      </button>
+<!--AttributeTest[icon,/foo.gif]-->
+
+      <button
+           class="af_goButton"
+           onclick="document.location='encoded-action-url:http://www.oracle.com'"
+           type="button"
+           id="uri-attr:mainId"
+           name="uri-attr:mainId"
+          >
+        ButtonText
+        <img
+             src="/test-context-path/foo.gif"
+            >
+          
+        </img>
       </button>
 <!--AttributeTest[onblur,null]-->
 

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalScrRdr-golden.xml
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalScrRdr-golden.xml?view=diff&rev=468555&r1=468554&r2=468555
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalScrRdr-golden.xml (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/goButton-minimalScrRdr-golden.xml Fri Oct 27 15:06:11 2006
@@ -41,17 +41,6 @@
           >
         ButtonText
       </button>
-<!--AttributeTest[longDesc,my long desc]-->
-
-      <button
-           class="af_goButton"
-           onclick="document.location='encoded-action-url:http://www.oracle.com'"
-           type="button"
-           id="uri-attr:mainId"
-           name="uri-attr:mainId"
-          >
-        ButtonText
-      </button>
 <!--AttributeTest[targetFrame,mytarget]-->
 
       <button
@@ -63,17 +52,6 @@
           >
         ButtonText
       </button>
-<!--AttributeTest[textAndAccessKey,B&uttonText]-->
-
-      <button
-           class="af_goButton"
-           onclick="document.location='encoded-action-url:http://www.oracle.com'"
-           type="button"
-           id="uri-attr:mainId"
-           name="uri-attr:mainId"
-          >
-        ButtonText
-      </button>
 <!--AttributeTest[id,myid]-->
 
       <button
@@ -107,6 +85,22 @@
            name="uri-attr:mainId"
           >
         ButtonText
+      </button>
+<!--AttributeTest[icon,/foo.gif]-->
+
+      <button
+           class="af_goButton"
+           onclick="document.location='encoded-action-url:http://www.oracle.com'"
+           type="button"
+           id="uri-attr:mainId"
+           name="uri-attr:mainId"
+          >
+        ButtonText
+        <img
+             src="/test-context-path/foo.gif"
+            >
+          
+        </img>
       </button>
 <!--AttributeTest[onblur,null]-->
 

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/testScripts/commandButton.xml
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/testScripts/commandButton.xml?view=diff&rev=468555&r1=468554&r2=468555
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/testScripts/commandButton.xml (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/testScripts/commandButton.xml Fri Oct 27 15:06:11 2006
@@ -7,7 +7,7 @@
   <boolean-test name="disabled"/>
   <boolean-test name="immediate"/>
   <boolean-test name="partialSubmit"/>
-  <attribute-test name="textAndAccessKey" value="B&amp;uttonText"  matchesBase="true"/>
+
   <attribute-test name="windowHeight" value="100" matchesBase="true"/>
   <attribute-test name="windowWidth" value="200" matchesBase="true"/>
   
@@ -16,6 +16,8 @@
   <attribute-test name="inlineStyle" value="background-color:red"/>
   <attribute-test name="shortDesc" value="my button"/>
   <attribute-test name="styleClass" value="mystyle"/>
+
+  <attribute-test name="icon" value="/foo.gif"/>
   
   <!-- javascript -->
   <js-test/>

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/testScripts/goButton.xml
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/testScripts/goButton.xml?view=diff&rev=468555&r1=468554&r2=468555
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/testScripts/goButton.xml (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/testScripts/goButton.xml Fri Oct 27 15:06:11 2006
@@ -7,11 +7,7 @@
   <!-- ungrouped -->
   <attribute-test name="accessKey" value="u"/>
   <boolean-test name="disabled"/>
-  <attribute-test name="longDesc" value="my long desc"  matchesBase="true"/>
-  <!--attribute-test name="partialTriggers" value="x y" matchesBase="true"/-->
-  <!--boolean-test name="selected"/-->
   <attribute-test name="targetFrame" value="mytarget"/>
-  <attribute-test name="textAndAccessKey" value="B&amp;uttonText"  matchesBase="true"/>
   
   <!-- core -->  
   <attribute-test name="id" value="myid"/>
@@ -19,6 +15,8 @@
   <!--boolean-test name="rendered"/-->
   <attribute-test name="shortDesc" value="my button"/>
   <attribute-test name="styleClass" value="mystyle"/>
+
+  <attribute-test name="icon" value="/foo.gif"/>
   
   <!-- javascript -->
   <js-test/>