Cool.  There is an old JIRA issue on this (MYFACES-380.)  Does this
basically implement that?

sean

On 9/20/05, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> Author: svieujot
> Date: Tue Sep 20 18:06:09 2005
> New Revision: 290595
>
> URL: http://svn.apache.org/viewcvs?rev=290595&view=rev
> Log:
> New fieldset component.
>
> Added:
>     myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/
>     
> myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/Fieldset.java
>    (with props)
>     
> myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/FieldsetRenderer.java
>    (with props)
>     
> myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/FieldsetTag.java
>    (with props)
>
> Added: 
> myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/Fieldset.java
> URL: 
> http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/Fieldset.java?rev=290595&view=auto
> ==============================================================================
> --- 
> myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/Fieldset.java
>  (added)
> +++ 
> myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/Fieldset.java
>  Tue Sep 20 18:06:09 2005
> @@ -0,0 +1,65 @@
> +/*
> + * Copyright 2004 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.custom.fieldset;
> +
> +import javax.faces.context.FacesContext;
> +import javax.faces.el.ValueBinding;
> +
> +import org.apache.myfaces.custom.htmlTag.HtmlTag;
> +
> +/**
> + * @author svieujot (latest modification by $Author$)
> + * @version $Revision$ $Date: 2005-06-09 02:27:56 -0400 (Thu, 09 Jun 2005) $
> + */
> +public class Fieldset extends HtmlTag {
> +  public static final String COMPONENT_TYPE = "org.apache.myfaces.Fieldset";
> +  public static final String COMPONENT_FAMILY = "javax.faces.Output";
> +  private static final String DEFAULT_RENDERER_TYPE = 
> FieldsetRenderer.RENDERER_TYPE;
> +
> +  private String legend = null;
> +
> +  public Fieldset(){
> +      setRendererType(DEFAULT_RENDERER_TYPE);
> +  }
> +
> +  public Object getValue() {
> +       return "fieldset";
> +  }
> +
> +  public String getLegend(){
> +      if (legend != null)
> +          return legend;
> +      ValueBinding vb = getValueBinding("legend");
> +      return vb != null ? (String) vb.getValue(getFacesContext()) : null;
> +  }
> +
> +  public void setLegend(String legend){
> +      this.legend = legend;
> +  }
> +
> +  public void restoreState(FacesContext context, Object state){
> +      Object values[] = (Object[]) state;
> +      super.restoreState(context, values[0]);
> +      legend = (String) values[1];
> +  }
> +
> +  public Object saveState(FacesContext context){
> +      Object values[] = new Object[2];
> +      values[0] = super.saveState(context);
> +      values[1] = legend;
> +      return values;
> +  }
> +}
> \ No newline at end of file
>
> Propchange: 
> myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/Fieldset.java
> ------------------------------------------------------------------------------
>     svn:eol-style = native
>
> Propchange: 
> myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/Fieldset.java
> ------------------------------------------------------------------------------
>     svn:keywords = "LastChangedDate LastChangedBy LastChangedRevision Author 
> Id"
>
> Propchange: 
> myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/Fieldset.java
> ------------------------------------------------------------------------------
>     svn:mime-type = text/plain
>
> Added: 
> myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/FieldsetRenderer.java
> URL: 
> http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/FieldsetRenderer.java?rev=290595&view=auto
> ==============================================================================
> --- 
> myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/FieldsetRenderer.java
>  (added)
> +++ 
> myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/FieldsetRenderer.java
>  Tue Sep 20 18:06:09 2005
> @@ -0,0 +1,54 @@
> +/*
> + * Copyright 2004 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.custom.fieldset;
> +
> +import java.io.IOException;
> +
> +import javax.faces.component.UIComponent;
> +import javax.faces.context.FacesContext;
> +import javax.faces.context.ResponseWriter;
> +
> +import org.apache.myfaces.custom.htmlTag.HtmlTagRenderer;
> +
> +/**
> + * @author svieujot (latest modification by $Author$)
> + * @version $Revision$ $Date: 2005-05-11 11:47:12 -0400 (Wed, 11 May 2005) $
> + */
> +public class FieldsetRenderer extends HtmlTagRenderer
> +{
> +    public static final String RENDERER_TYPE = 
> "org.apache.myfaces.FieldsetRenderer";
> +
> +    public void encodeBegin(FacesContext context, UIComponent component)
> +            throws IOException
> +    {
> +
> +        Fieldset fieldset = (Fieldset) component;
> +
> +        if (fieldset.isRendered())
> +        {
> +               super.encodeBegin(context, component);
> +               String legend = fieldset.getLegend().toString();
> +               if( legend.trim().length() == 0 ) // Don't render the legend
> +                       return;
> +
> +            ResponseWriter writer = context.getResponseWriter();
> +
> +            writer.startElement("legend", fieldset);
> +            writer.write( legend );
> +            writer.endElement( "legend" );
> +        }
> +    }
> +}
> \ No newline at end of file
>
> Propchange: 
> myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/FieldsetRenderer.java
> ------------------------------------------------------------------------------
>     svn:eol-style = native
>
> Propchange: 
> myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/FieldsetRenderer.java
> ------------------------------------------------------------------------------
>     svn:keywords = "LastChangedDate LastChangedBy LastChangedRevision Author 
> Id"
>
> Propchange: 
> myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/FieldsetRenderer.java
> ------------------------------------------------------------------------------
>     svn:mime-type = text/plain
>
> Added: 
> myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/FieldsetTag.java
> URL: 
> http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/FieldsetTag.java?rev=290595&view=auto
> ==============================================================================
> --- 
> myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/FieldsetTag.java
>  (added)
> +++ 
> myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/FieldsetTag.java
>  Tue Sep 20 18:06:09 2005
> @@ -0,0 +1,54 @@
> +/*
> + * Copyright 2004 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.custom.fieldset;
> +
> +import javax.faces.component.UIComponent;
> +
> +import org.apache.myfaces.custom.htmlTag.HtmlTagTag;
> +/**
> + * @author svieujot (latest modification by $Author$)
> + * @version $Revision$ $Date: 2005-06-09 02:27:56 -0400 (Thu, 09 Jun 2005) $
> + */
> +public class FieldsetTag extends HtmlTagTag {
> +
> +       private String legend = null;
> +
> +       public FieldsetTag() {
> +               super();
> +       }
> +
> +       public String getComponentType() {
> +               return Fieldset.COMPONENT_TYPE;
> +       }
> +
> +       public String getRendererType() {
> +               return FieldsetRenderer.RENDERER_TYPE;
> +       }
> +
> +       public void release() {
> +               super.release();
> +               this.legend = null;
> +       }
> +
> +       protected void setProperties(UIComponent component) {
> +               super.setProperties(component);
> +               setStringProperty(component, "legend", legend);
> +       }
> +
> +       public void setLegend(String legend) {
> +               this.legend = legend;
> +       }
> +}
> \ No newline at end of file
>
> Propchange: 
> myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/FieldsetTag.java
> ------------------------------------------------------------------------------
>     svn:eol-style = native
>
> Propchange: 
> myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/FieldsetTag.java
> ------------------------------------------------------------------------------
>     svn:keywords = "LastChangedDate LastChangedBy LastChangedRevision Author 
> Id"
>
> Propchange: 
> myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/fieldset/FieldsetTag.java
> ------------------------------------------------------------------------------
>     svn:mime-type = text/plain
>
>
>

Reply via email to