Author: ivaynberg
Date: Thu Dec 13 12:10:57 2007
New Revision: 604014

URL: http://svn.apache.org/viewvc?rev=604014&view=rev
Log:
tree tweak to make it easier to override the text

Modified:
    
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/LabelTree.java
    
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/LinkTree.java

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/LabelTree.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/LabelTree.java?rev=604014&r1=604013&r2=604014&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/LabelTree.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/LabelTree.java
 Thu Dec 13 12:10:57 2007
@@ -73,7 +73,33 @@
         */
        protected Component newNodeComponent(String id, IModel model)
        {
-               return new LabelIconPanel(id, model, this);
+               return new LabelIconPanel(id, model, this)
+               {
+                       private static final long serialVersionUID = 1L;
+
+                       protected Component newContentComponent(String 
componentId, BaseTree tree, IModel model)
+                       {
+                               return super.newContentComponent(componentId, 
tree, getNodeTextModel(model));
+                       }
+
+               };
        }
 
+       /**
+        * Provides the model that will be used to feed the node text.
+        * 
+        * Example implementation: <code>return new PropertyModel(nodeModel, 
"object.name");</code>
+        * which will translate to 
<code>YourTreeNodeSubclass.getObject().getName();</code>
+        * 
+        * NOTE: remember that the nodeModel represents the TreeNode object, 
not the model object inside
+        * it
+        * 
+        * @param nodeModel
+        *            model representing the current tree node
+        * @return model used for text
+        */
+       protected IModel getNodeTextModel(IModel nodeModel)
+       {
+               return nodeModel;
+       }
 }

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/LinkTree.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/LinkTree.java?rev=604014&r1=604013&r2=604014&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/LinkTree.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/LinkTree.java
 Thu Dec 13 12:10:57 2007
@@ -23,6 +23,7 @@
 
 import org.apache.wicket.Component;
 import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 
@@ -32,7 +33,7 @@
  * 
  * @author Matej Knopp
  */
-public class LinkTree extends BaseTree
+public class LinkTree extends LabelTree
 {
        private static final long serialVersionUID = 1L;
 
@@ -87,6 +88,11 @@
                                super.onNodeLinkClicked(node, tree, target);
                                LinkTree.this.onNodeLinkClicked(node, tree, 
target);
                        }
+
+                       protected Component newContentComponent(String 
componentId, BaseTree tree, IModel model)
+                       {
+                               return new Label(componentId, 
getNodeTextModel(model));
+                       }
                };
        }
 
@@ -101,4 +107,6 @@
        {
 
        }
+
+
 }


Reply via email to