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>