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 > > >
