You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2007/05/03 16:16:13 UTC

svn commit: r534878 - in /myfaces/tobago/trunk: example/sandbox/src/main/java/org/apache/myfaces/tobago/example/sandbox/ example/sandbox/src/main/webapp/ sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ sandbox/s...

Author: lofwyr
Date: Thu May  3 07:16:12 2007
New Revision: 534878

URL: http://svn.apache.org/viewvc?view=rev&rev=534878
Log:
add "disabled" to tree node

Modified:
    myfaces/tobago/trunk/example/sandbox/src/main/java/org/apache/myfaces/tobago/example/sandbox/Controller.java
    myfaces/tobago/trunk/example/sandbox/src/main/java/org/apache/myfaces/tobago/example/sandbox/Node.java
    myfaces/tobago/trunk/example/sandbox/src/main/webapp/tree-menu.jsp
    myfaces/tobago/trunk/example/sandbox/src/main/webapp/tree-normal.jsp
    myfaces/tobago/trunk/sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeNodeRenderer.java
    myfaces/tobago/trunk/sandbox/src/main/java/org/apache/myfaces/tobago/taglib/sandbox/TreeNodeTagDeclaration.java

Modified: myfaces/tobago/trunk/example/sandbox/src/main/java/org/apache/myfaces/tobago/example/sandbox/Controller.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/example/sandbox/src/main/java/org/apache/myfaces/tobago/example/sandbox/Controller.java?view=diff&rev=534878&r1=534877&r2=534878
==============================================================================
--- myfaces/tobago/trunk/example/sandbox/src/main/java/org/apache/myfaces/tobago/example/sandbox/Controller.java (original)
+++ myfaces/tobago/trunk/example/sandbox/src/main/java/org/apache/myfaces/tobago/example/sandbox/Controller.java Thu May  3 07:16:12 2007
@@ -45,14 +45,14 @@
     DefaultMutableTreeNode music = new DefaultMutableTreeNode(new Node("1.4 Music"));
     tree.add(music);
     tree.add(new DefaultMutableTreeNode(new Node("1.5 Games")));
-    temp.add(new DefaultMutableTreeNode(new Node("1.3.1 Geography", STRONG)));
-    temp.add(new DefaultMutableTreeNode(new Node("1.3.2 Mathematics", STRONG)));
+    temp.add(new DefaultMutableTreeNode(new Node("1.3.1 Geography (strong markup)", STRONG)));
+    temp.add(new DefaultMutableTreeNode(new Node("1.3.2 Mathematics (strong markup)", STRONG)));
     DefaultMutableTreeNode temp2 = new DefaultMutableTreeNode(new Node("1.3.3 Pictures"));
     temp2.add(new DefaultMutableTreeNode(new Node("1.3.3.1 Education")));
     temp2.add(new DefaultMutableTreeNode(new Node("1.3.3.2 Family")));
     temp2.add(new DefaultMutableTreeNode(new Node("1.3.3.3 Comercial")));
-    temp2.add(new DefaultMutableTreeNode(new Node("1.3.3.4 Summer")));
-    temp2.add(new DefaultMutableTreeNode(new Node("1.3.3.5 Winter")));
+    temp2.add(new DefaultMutableTreeNode(new Node("1.3.3.4 Summer (disabled)", true)));
+    temp2.add(new DefaultMutableTreeNode(new Node("1.3.3.5 Winter (disabled)", true)));
     temp2.add(new DefaultMutableTreeNode(new Node("1.3.3.6 Red")));
     temp2.add(new DefaultMutableTreeNode(new Node("1.3.3.7 Black")));
     temp2.add(new DefaultMutableTreeNode(new Node("1.3.3.8 White")));

Modified: myfaces/tobago/trunk/example/sandbox/src/main/java/org/apache/myfaces/tobago/example/sandbox/Node.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/example/sandbox/src/main/java/org/apache/myfaces/tobago/example/sandbox/Node.java?view=diff&rev=534878&r1=534877&r2=534878
==============================================================================
--- myfaces/tobago/trunk/example/sandbox/src/main/java/org/apache/myfaces/tobago/example/sandbox/Node.java (original)
+++ myfaces/tobago/trunk/example/sandbox/src/main/java/org/apache/myfaces/tobago/example/sandbox/Node.java Thu May  3 07:16:12 2007
@@ -27,6 +27,7 @@
   private String name;
   private String markup;
   private boolean expanded;
+  private boolean disabled;
 
   public Node(String name) {
     this.name = name;
@@ -37,6 +38,11 @@
     this.markup = markup;
   }
 
+  public Node(String name, boolean disabled) {
+    this.name = name;
+    this.disabled = disabled;
+  }
+
   public String action() {
     LOG.info("action: name='" + name + "'");
     return null;
@@ -68,5 +74,13 @@
 
   public String getTip() {
     return "Some Information about " + name;
+  }
+
+  public boolean isDisabled() {
+    return disabled;
+  }
+
+  public void setDisabled(boolean disabled) {
+    this.disabled = disabled;
   }
 }

Modified: myfaces/tobago/trunk/example/sandbox/src/main/webapp/tree-menu.jsp
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/example/sandbox/src/main/webapp/tree-menu.jsp?view=diff&rev=534878&r1=534877&r2=534878
==============================================================================
--- myfaces/tobago/trunk/example/sandbox/src/main/webapp/tree-menu.jsp (original)
+++ myfaces/tobago/trunk/example/sandbox/src/main/webapp/tree-menu.jsp Thu May  3 07:16:12 2007
@@ -42,6 +42,7 @@
                         markup="#{node.userObject.markup}"
                         tip="#{node.userObject.tip}"
                         action="#{node.userObject.action}"
+                        disabled="#{node.userObject.disabled}"
                         value="#{node}"/>
         </tcs:treeNodeData>
         <tcs:treeNode label="2 Action 1" action="#{controller.action1}" id="action1"/>

Modified: myfaces/tobago/trunk/example/sandbox/src/main/webapp/tree-normal.jsp
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/example/sandbox/src/main/webapp/tree-normal.jsp?view=diff&rev=534878&r1=534877&r2=534878
==============================================================================
--- myfaces/tobago/trunk/example/sandbox/src/main/webapp/tree-normal.jsp (original)
+++ myfaces/tobago/trunk/example/sandbox/src/main/webapp/tree-normal.jsp Thu May  3 07:16:12 2007
@@ -31,26 +31,30 @@
     <tcs:tree state="#{controller.state}" id="tree"
         showIcons="true"
         showJunctions="true"
-        showRoot="true"
         showRootJunction="true"
+        showRoot="true"
         >
-      <tcs:treeNode label="Root" expanded="true">
+      <tcs:treeNode label="Root" id="root" expanded="true">
         <tcs:treeNodeData value="#{controller.tree}" var="node" id="data">
-          <tcs:treeNode label="#{node.userObject.name}" id="template" expanded="#{node.userObject.expanded}"
+          <tcs:treeNode label="#{node.userObject.name}"
+                        id="template"
+                        expanded="#{node.userObject.expanded}"
                         markup="#{node.userObject.markup}"
                         tip="#{node.userObject.tip}"
-                        action="#{node.userObject.action}" value="#{node}"/>
+                        action="#{node.userObject.action}"
+                        disabled="#{node.userObject.disabled}"
+                        value="#{node}"/>
         </tcs:treeNodeData>
-        <tcs:treeNode label="Action 1" action="#{controller.action1}" id="action1"/>
-        <tcs:treeNode label="Action 2" action="#{controller.action2}" id="action2"/>
-        <tcs:treeNode label="Action 3" action="#{controller.action3}" id="action3">
-          <tcs:treeNode label="On Click 1" onclick="alert('On Click 1');" id="click1"/>
-          <tcs:treeNode label="On Click 2" onclick="alert('On Click 2');" id="click2">
-            <tcs:treeNode label="On Click 3" onclick="alert('On Click 3');" id="click3"/>
+        <tcs:treeNode label="2 Action 1" action="#{controller.action1}" id="action1"/>
+        <tcs:treeNode label="3 Action 2" action="#{controller.action2}" id="action2"/>
+        <tcs:treeNode label="4 Action 3" action="#{controller.action3}" id="action3">
+          <tcs:treeNode label="4.1 On Click 1" onclick="alert('On Click 1');" id="click1"/>
+          <tcs:treeNode label="4.2 On Click 2" onclick="alert('On Click 2');" id="click2">
+            <tcs:treeNode label="4.2.1 On Click 3" onclick="alert('On Click 3');" id="click3"/>
           </tcs:treeNode>
         </tcs:treeNode>
-        <tcs:treeNode label="Link" link="http://myfaces.apache.org/tobago/" id="link" tip="Subnode Link"/>
-        <tcs:treeNode label="Target" action="#{controller.action2}" target="Target Window"/>
+        <tcs:treeNode label="5 Link" link="http://myfaces.apache.org/tobago/" id="link" tip="Subnode Link"/>
+        <tcs:treeNode label="6 Target" action="#{controller.action2}" target="Target Window"/>
       </tcs:treeNode>
     </tcs:tree>
 

Modified: myfaces/tobago/trunk/sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeNodeRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeNodeRenderer.java?view=diff&rev=534878&r1=534877&r2=534878
==============================================================================
--- myfaces/tobago/trunk/sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeNodeRenderer.java (original)
+++ myfaces/tobago/trunk/sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeNodeRenderer.java Thu May  3 07:16:12 2007
@@ -42,6 +42,7 @@
 import static org.apache.myfaces.tobago.renderkit.html.HtmlConstants.A;
 import static org.apache.myfaces.tobago.renderkit.html.HtmlConstants.DIV;
 import static org.apache.myfaces.tobago.renderkit.html.HtmlConstants.IMG;
+import static org.apache.myfaces.tobago.renderkit.html.HtmlConstants.SPAN;
 import org.apache.myfaces.tobago.renderkit.html.HtmlStyleMap;
 import org.apache.myfaces.tobago.renderkit.html.StyleClasses;
 import org.apache.myfaces.tobago.webapp.TobagoResponseWriter;
@@ -150,8 +151,7 @@
 
     // div class (css)
     StyleClasses styleClasses = StyleClasses.ensureStyleClasses(node);
-    styleClasses.removeTobagoClasses("treeNode");
-    styleClasses.addAspectClass("treeNode", StyleClasses.Aspect.DEFAULT);
+    styleClasses.updateClassAttribute(node, "treeNode");
     if ("menu".equals(root.getMode())) {
       styleClasses.addClass("treeNode", "menu");
       if (marked) {
@@ -345,7 +345,14 @@
       TobagoResponseWriter writer, CommandRendererHelper helper, UITreeNode node, boolean marked, String treeId)
       throws IOException {
 
-    writer.startElement(A);
+    if (helper.isDisabled()) {
+      writer.startElement(SPAN);
+    } else {
+      writer.startElement(A);
+      writer.writeAttribute(HtmlAttributes.HREF, helper.getHref(), null);
+      writer.writeAttribute(HtmlAttributes.ONCLICK, helper.getOnclick(), null);
+      writer.writeAttribute(HtmlAttributes.ONFOCUS, "storeMarker(this.parentNode, '" + treeId + "')", null);
+    }
     if (marked) {
       StyleClasses classes = new StyleClasses();
       classes.addClass("treeNode", "marker");
@@ -354,17 +361,18 @@
     String tip = (String) node.getAttributes().get(ATTR_TIP);
     if (tip != null) {
 //XXX is needed?      tip = StringEscapeUtils.escapeJavaScript(tip);
-      writer.writeAttribute("title", tip, null);
+      writer.writeAttribute(HtmlAttributes.TITLE, tip, null);
     }
-    writer.writeAttribute("href", helper.getHref(), null);
-    writer.writeAttribute("onclick", helper.getOnclick(), null);
-    writer.writeAttribute("onfocus", "storeMarker(this.parentNode, '" + treeId + "')", null);
     String label = (String) node.getAttributes().get(ATTR_LABEL);
     if (label == null) {
       LOG.warn("label == null");
     }
     writer.writeText(label, null);
-    writer.endElement(A);
+    if (helper.isDisabled()) {
+      writer.endElement(SPAN);
+    } else {
+      writer.endElement(A);
+    }
   }
 
   @Override

Modified: myfaces/tobago/trunk/sandbox/src/main/java/org/apache/myfaces/tobago/taglib/sandbox/TreeNodeTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/sandbox/src/main/java/org/apache/myfaces/tobago/taglib/sandbox/TreeNodeTagDeclaration.java?view=diff&rev=534878&r1=534877&r2=534878
==============================================================================
--- myfaces/tobago/trunk/sandbox/src/main/java/org/apache/myfaces/tobago/taglib/sandbox/TreeNodeTagDeclaration.java (original)
+++ myfaces/tobago/trunk/sandbox/src/main/java/org/apache/myfaces/tobago/taglib/sandbox/TreeNodeTagDeclaration.java Thu May  3 07:16:12 2007
@@ -28,6 +28,7 @@
 import org.apache.myfaces.tobago.taglib.decl.HasMarkup;
 import org.apache.myfaces.tobago.taglib.decl.HasTip;
 import org.apache.myfaces.tobago.taglib.decl.HasTarget;
+import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
 import org.apache.myfaces.tobago.taglib.component.AbstractCommandTagDeclaration;
 
 /**
@@ -40,7 +41,8 @@
     uiComponent = "org.apache.myfaces.tobago.component.UITreeNode",
     rendererType = "TreeNode")
 public interface TreeNodeTagDeclaration
-    extends HasIdBindingAndRendered, HasLabel, HasValue, HasMarkup, AbstractCommandTagDeclaration, HasTip, HasTarget {
+    extends HasIdBindingAndRendered, HasLabel, HasValue, HasMarkup, AbstractCommandTagDeclaration, HasTip, HasTarget,
+    IsDisabled {
 
   /**
    * Flag indicating if the subnodes are to be displayed.