You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by we...@apache.org on 2006/09/09 01:10:22 UTC
svn commit: r441685 - in /myfaces/tomahawk/trunk/sandbox/core/src/main:
java/org/apache/myfaces/custom/dojolayouts/ resources-facesconfig/META-INF/
tld/
Author: werpu
Date: Fri Sep 8 16:10:20 2006
New Revision: 441685
URL: http://svn.apache.org/viewvc?view=rev&rev=441685
Log:
added the dojo title pane to the mix layouting containers
Added:
myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/dojolayouts/TitlePane.java
myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/dojolayouts/TitlePaneRenderer.java
myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/dojolayouts/TitlePaneTag.java
Modified:
myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/dojolayouts/DojoContentPaneRenderer.java
myfaces/tomahawk/trunk/sandbox/core/src/main/resources-facesconfig/META-INF/faces-config.xml
myfaces/tomahawk/trunk/sandbox/core/src/main/tld/myfaces_sandbox.tld
Modified: myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/dojolayouts/DojoContentPaneRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/dojolayouts/DojoContentPaneRenderer.java?view=diff&rev=441685&r1=441684&r2=441685
==============================================================================
--- myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/dojolayouts/DojoContentPaneRenderer.java (original)
+++ myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/dojolayouts/DojoContentPaneRenderer.java Fri Sep 8 16:10:20 2006
@@ -27,7 +27,6 @@
import org.apache.myfaces.custom.dojo.DojoConfig;
import org.apache.myfaces.custom.dojo.DojoUtils;
import org.apache.myfaces.shared_tomahawk.renderkit.JSFAttr;
-import org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils;
import org.apache.myfaces.shared_tomahawk.renderkit.html.HTML;
import org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlRenderer;
import org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlRendererUtils;
Added: myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/dojolayouts/TitlePane.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/dojolayouts/TitlePane.java?view=auto&rev=441685
==============================================================================
--- myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/dojolayouts/TitlePane.java (added)
+++ myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/dojolayouts/TitlePane.java Fri Sep 8 16:10:20 2006
@@ -0,0 +1,114 @@
+package org.apache.myfaces.custom.dojolayouts;
+
+import javax.faces.context.FacesContext;
+import javax.faces.el.ValueBinding;
+
+/**
+ * TitlePane Component class
+ */
+
+/*
+ * //faces config definition, please cut/paste it into your faces-config
+ * <component> <component-type>org.apache.myfaces.TitlePane</component-type>
+ * <component-class>org.apache.myfaces.custom.dojolayout.TitlePane</component-class>
+ * </component> <renderer> <component-family>javax.faces.Output</component-family>
+ * <renderer-type>javax.faces.Panel</renderer-type>
+ * <renderer-class>org.apache.myfaces.custom.dojolayout.TitlePaneRenderer</renderer-class>
+ * </renderer>
+ *
+ */
+
+public class TitlePane extends DojoContentPane {
+ // ------------------ GENERATED CODE BEGIN (do not modify!)
+ // --------------------
+
+ public static final String COMPONENT_FAMILY = "javax.faces.Output";
+
+ public static final String COMPONENT_TYPE = "org.apache.myfaces.TitlePane";
+
+ public static final String RENDERER_TYPE = "org.apache.myfaces.TitlePaneRenderer";
+
+ private String _containerNodeClass = null;
+
+ private String _label = null;
+
+ private String _labelNodeClass = null;
+
+ public TitlePane() {
+ super();
+ setRendererType(RENDERER_TYPE);
+ }
+
+ public String getContainerNodeClass() {
+ if (_containerNodeClass != null)
+ return _containerNodeClass;
+ ValueBinding vb = getValueBinding("containerNodeClass");
+ return vb != null ? (String) vb.getValue(getFacesContext()) : null;
+ }
+
+ public String getFamily() {
+ return COMPONENT_FAMILY;
+ }
+
+ public String getLabel() {
+ if (_label != null)
+ return _label;
+ ValueBinding vb = getValueBinding("label");
+ return vb != null ? (String) vb.getValue(getFacesContext()) : null;
+ }
+
+ public String getLabelNodeClass() {
+ if (_labelNodeClass != null)
+ return _labelNodeClass;
+ ValueBinding vb = getValueBinding("labelNodeClass");
+ return vb != null ? (String) vb.getValue(getFacesContext()) : null;
+ }
+
+ public void restoreState(FacesContext context, Object state) {
+ Object values[] = (Object[]) state;
+ super.restoreState(context, values[0]);
+ // //restorestate labelNodeClass begin
+ _labelNodeClass = (String) values[1];
+ // //restorestate labelNodeClass end
+ // // restorestate containerNodeClass begin
+ _containerNodeClass = (String) values[2];
+ // //restorestate containerNodeClass end
+
+ // //restorestate label begin
+ _label = (String) values[3];
+ // //restorestate label end
+
+ }
+ // ------------------ GENERATED CODE END
+ // ---------------------------------------
+
+ public Object saveState(FacesContext context) {
+ Object values[] = new Object[4];
+ values[0] = super.saveState(context);
+ ;
+ // //savestate labelNodeClass begin
+ values[1] = _labelNodeClass;
+ // //savestate labelNodeClass end
+ // //savestate containerNodeClass begin
+ values[2] = _containerNodeClass;
+ // //savestate containerNodeClass end
+
+ // //savestate label begin
+ values[3] = _label;
+ // //savestate label end
+
+ return ((Object) (values));
+ }
+
+ public void setContainerNodeClass(String containerNodeClass) {
+ _containerNodeClass = containerNodeClass;
+ }
+
+ public void setLabel(String label) {
+ _label = label;
+ }
+
+ public void setLabelNodeClass(String labelNodeClass) {
+ _labelNodeClass = labelNodeClass;
+ }
+}
Added: myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/dojolayouts/TitlePaneRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/dojolayouts/TitlePaneRenderer.java?view=auto&rev=441685
==============================================================================
--- myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/dojolayouts/TitlePaneRenderer.java (added)
+++ myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/dojolayouts/TitlePaneRenderer.java Fri Sep 8 16:10:20 2006
@@ -0,0 +1,61 @@
+package org.apache.myfaces.custom.dojolayouts;
+
+import java.io.IOException;
+import java.util.Map;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+
+import org.apache.commons.collections.map.HashedMap;
+import org.apache.myfaces.custom.dojo.DojoConfig;
+import org.apache.myfaces.custom.dojo.DojoUtils;
+import org.apache.myfaces.shared_tomahawk.renderkit.JSFAttr;
+
+public class TitlePaneRenderer extends DojoContentPaneRenderer {
+
+ public void decode(FacesContext context, UIComponent component) {
+ super.decode(context, component);
+
+ }
+
+ protected void encodeJavascriptBegin(FacesContext context, UIComponent component) throws IOException {
+ String javascriptLocation = (String) component.getAttributes().get(JSFAttr.JAVASCRIPT_LOCATION);
+ try {
+ if (javascriptLocation != null) {
+ DojoUtils.addMainInclude(context, component, javascriptLocation, new DojoConfig());
+ } else {
+ DojoUtils.addMainInclude(context, component, null, new DojoConfig());
+ }
+ }
+
+ catch (IOException e) {
+ e.printStackTrace();
+ }
+ DojoUtils.addRequire(context, component, "dojo.widget.TitlePane");
+ }
+
+ public void encodeBegin(FacesContext context, UIComponent component) throws IOException {
+ super.encodeBegin(context, component);
+ }
+
+ protected void encodeJavascriptEnd(FacesContext context, UIComponent component) throws IOException {
+ TitlePane pane = (TitlePane) component;
+ Map attributes = new HashedMap();
+ String panelComponentVar = DojoUtils.calculateWidgetVarName(component.getClientId(context));
+ attributes.put("id", panelComponentVar);
+
+ if (pane.getContainerNodeClass() != null)
+ attributes.put("containerNodeClass", pane.getContainerNodeClass());
+ if (pane.getLabel() != null)
+ attributes.put("label", pane.getLabel());
+ if (pane.getLabelNodeClass() != null)
+ attributes.put("labelNodeClass", pane.getLabelNodeClass());
+
+ DojoUtils.renderWidgetInitializationCode(context, component, "TitlePane", attributes);
+ }
+
+ public boolean getRendersChildren() {
+ return true;
+ }
+
+}
\ No newline at end of file
Added: myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/dojolayouts/TitlePaneTag.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/dojolayouts/TitlePaneTag.java?view=auto&rev=441685
==============================================================================
--- myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/dojolayouts/TitlePaneTag.java (added)
+++ myfaces/tomahawk/trunk/sandbox/core/src/main/java/org/apache/myfaces/custom/dojolayouts/TitlePaneTag.java Fri Sep 8 16:10:20 2006
@@ -0,0 +1,69 @@
+package org.apache.myfaces.custom.dojolayouts;
+
+import javax.faces.component.UIComponent;
+
+public class TitlePaneTag extends DojoContentPaneTag {
+
+ public static final String TAG_PARAM_ContainerNodeClass = "containerNodeClass";
+
+ public static final String TAG_PARAM_Label = "label";
+
+ public static final String TAG_PARAM_LabelNodeClass = "labelNodeClass";
+
+ private String _containerNodeClass = null;
+
+ private String _label = null;
+
+ private String _labelNodeClass = null;
+
+ public String getComponentType() {
+ return TitlePane.COMPONENT_TYPE;
+ }
+
+ public String getRendererType() {
+ return TitlePane.RENDERER_TYPE;
+ }
+
+
+ public void release() {
+ super.release();
+ // //release containerNodeClass begin
+ _containerNodeClass = null;
+ // //release containerNodeClass end
+ // //release labelNodeClass begin
+ _labelNodeClass = null;
+ // //release labelNodeClass end
+
+ // //release label begin
+ _label = null;
+ // //release label end
+
+ }
+
+ public void setContainerNodeClass(String containerNodeClass) {
+ _containerNodeClass = containerNodeClass;
+ }
+
+
+ public void setLabel(String label) {
+ _label = label;
+ }
+
+ public void setLabelNodeClass(String labelNodeClass) {
+ _labelNodeClass = labelNodeClass;
+ }
+
+ protected void setProperties(UIComponent component) {
+ super.setProperties(component);
+ // // setProperties containerNodeClass begin
+ super.setStringProperty(component, TAG_PARAM_ContainerNodeClass, _containerNodeClass);
+ // //setProperties containerNodeClass end
+ // //setProperties labelNodeClass begin
+ super.setStringProperty(component, TAG_PARAM_LabelNodeClass, _labelNodeClass);
+ // //setProperties labelNodeClass end
+ // // setProperties label begin
+ super.setStringProperty(component, TAG_PARAM_Label, _label);
+ // //setProperties label end
+
+ }
+}
Modified: myfaces/tomahawk/trunk/sandbox/core/src/main/resources-facesconfig/META-INF/faces-config.xml
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/sandbox/core/src/main/resources-facesconfig/META-INF/faces-config.xml?view=diff&rev=441685&r1=441684&r2=441685
==============================================================================
--- myfaces/tomahawk/trunk/sandbox/core/src/main/resources-facesconfig/META-INF/faces-config.xml (original)
+++ myfaces/tomahawk/trunk/sandbox/core/src/main/resources-facesconfig/META-INF/faces-config.xml Fri Sep 8 16:10:20 2006
@@ -209,6 +209,12 @@
<component-type>org.apache.myfaces.DojoDialog</component-type>
<component-class>org.apache.myfaces.custom.dialog.DojoDialog</component-class>
</component>
+
+ <component>
+ <component-type>org.apache.myfaces.TitlePane</component-type>
+ <component-class>org.apache.myfaces.custom.dojolayouts.TitlePane</component-class>
+ </component>
+
<!-- sandbox converters -->
<converter>
@@ -435,6 +441,13 @@
<renderer-type>org.apache.myfaces.DojoDialog</renderer-type>
<renderer-class>org.apache.myfaces.custom.dialog.DojoDialogRenderer</renderer-class>
</renderer>
+
+ <renderer>
+ <component-family>javax.faces.Output</component-family>
+ <renderer-type>org.apache.myfaces.TitlePaneRenderer</renderer-type>
+ <renderer-class>org.apache.myfaces.custom.dojolayouts.TitlePaneRenderer</renderer-class>
+ </renderer>
+
<!-- <renderer>
<component-family>javax.faces.Messages</component-family>
Modified: myfaces/tomahawk/trunk/sandbox/core/src/main/tld/myfaces_sandbox.tld
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/sandbox/core/src/main/tld/myfaces_sandbox.tld?view=diff&rev=441685&r1=441684&r2=441685
==============================================================================
--- myfaces/tomahawk/trunk/sandbox/core/src/main/tld/myfaces_sandbox.tld (original)
+++ myfaces/tomahawk/trunk/sandbox/core/src/main/tld/myfaces_sandbox.tld Fri Sep 8 16:10:20 2006
@@ -1231,6 +1231,42 @@
</attribute>
</tag>
+
+ <tag>
+ <name>layoutingTitlePane</name>
+ <tag-class>org.apache.myfaces.custom.dojolayouts.TitlePaneTag</tag-class>
+ <body-content>JSP</body-content>
+ <description>Title Pane layouting element</description>
+ &ui_output_attributes;
+
+ <attribute>
+ <name>containerNodeClass</name>
+ <required>false</required>
+ <rtexprvalue>false</rtexprvalue>
+ <type>java.lang.String</type>
+ <description>the css node class for the container part of the element</description>
+ </attribute>
+
+ <attribute>
+ <name>labelNodeClass</name>
+ <required>false</required>
+ <rtexprvalue>false</rtexprvalue>
+ <type>java.lang.String</type>
+ <description>the css node class for the label part of the pane</description>
+ </attribute>
+ <attribute>
+ <name>label</name>
+ <required>false</required>
+ <rtexprvalue>false</rtexprvalue>
+ <type>java.lang.String</type>
+ <description>
+ Label for the titled paned element
+ </description>
+ </attribute>
+
+ </tag>
+
+
<tag>
<name>layoutingSplitPane</name>
<tag-class>org.apache.myfaces.custom.dojolayouts.DojoSplitPaneTag</tag-class>