Hi
I have another question: trinidad sandbox should be for 1.2 ?
My component works if I do a light change on LabelAndMessageRenderer, can I
change this class too?
This is the patch file:
Index:
src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/LabelAndMessageRenderer.java
===================================================================
---
src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/LabelAndMessageRenderer.java
(revision 614757)
+++
src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/LabelAndMessageRenderer.java
(working copy)
@@ -279,6 +279,27 @@
}
}
+ //This part is necessary to make work hspace on tr:tableFormLayout
+ Map<String, Object> requestMap = context.getExternalContext()
+ .getRequestMap();
+
+ Integer hspaceObject = (Integer) requestMap.get(
+ "org.apache.myfaces.trinidadinternal.TableFormHspace");
+
+ Boolean percentWidthObject = (Boolean) requestMap.get(
+ "org.apache.myfaces.trinidadinternal.TableFormPercentWidth");
+
+ if (hspaceObject != null){
+
+ rw.startElement("td", null);
+ if (percentWidthObject != null && percentWidthObject == true){
+ rw.writeAttribute("width", hspaceObject +"%", null);
+ }else{
+ rw.writeAttribute("width", hspaceObject, null);
+ }
+ rw.endElement("td");
+ }
+
_renderFieldCell(context, arc, component, bean, labelExists,
needsPanelFormLayout, isInline);
@@ -787,7 +808,8 @@
{
return "org.apache.myfaces.trinidad.Form".equals(rendererType) ||
"org.apache.myfaces.trinidad.FormLayout".equals(rendererType) ||
- "org.apache.myfaces.trinidad.rich.Form".equals(rendererType);
+ "org.apache.myfaces.trinidad.rich.Form".equals(rendererType) ||
+ "org.apache.myfaces.trinidad.TableLayout".equals(rendererType);
}
How does your comp differ from "panelFormLayout" ?
An example is this
<mycomp:tableFormLayout width="1000"
columns="1*;2*;1*;2*">
<tr:outputText value="Layout Example: Personal
Information" >
<f:attribute name="spanX" value="4" />
</tr:outputText>
<tr:selectOneChoice label="Salutation">
<f:selectItem itemLabel="1 Option" itemValue="1"
/>
<f:selectItem itemLabel="2 Option"
itemValue="2"/>
</tr:selectOneChoice>
<tr:outputText>
<f:attribute name="spanX" value="2" />
</tr:outputText>
<tr:inputText label="First Name" required="true"/>
<tr:inputText label="Last Name" required="true"/>
<tr:inputText label="c/o" required="true">
<f:attribute name="spanXItem" value="3" />
</tr:inputText>
<tr:inputText label="Street" required="true"/>
<tr:inputText label="No" required="true"/>
<tr:inputText label="ZIP" required="true"/>
<tr:inputText label="City" required="true"/>
<tr:inputText label="Note" rows="4" required="true">
<f:attribute name="spanXItem" value="3" />
</tr:inputText>
</mycomp:tableFormLayout>
It calculates widths, heights for each component and make all layout tasks
(colspan and others) more easy.
You can see an screenshot on TRINIDAD-115
regards
Leonardo Uribe