You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2007/12/13 21:10:59 UTC

svn commit: r604014 - in /wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree: LabelTree.java LinkTree.java

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 @@
 	{
 
 	}
+
+
 }