Don't use that tree, use the one at http://tacos.sourceforge.net.

On 12/5/05, Istvan Zakar <[EMAIL PROTECTED]> wrote:
>
> Hi again! I've forgotten to paste the code, maybe someone can help me
> solve the problem, thanks.
>
> Home.html:
> <html jwcid="@Shell" title="Using The Tapestry Tree Control">
> <body jwcid="@Body">
>     <h1>First Tree</h1>
>
>                 <span class="tree" jwcid="treeView">
>                     <span jwcid="treeDataView">
>                         <span jwcid="treeNodeView"/>
>                     </span>
>                 </span>
>                                 <span jwcid="info"/>
>
> </body>
> </html>
>
> Home.page:
> <?xml version="1.0"?>
> <!DOCTYPE page-specification PUBLIC
>         "-//Apache Software Foundation//Tapestry Specification 4.0//EN"
>         "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd";>
>
> <page-specification class="com.ttdev.newtree3v4.FirstTreePage">
>
>     <component id="treeView" type="contrib:TreeView">
>         <binding name="treeModel" value="treeModel"/>
>         <binding name="treeStateListener" value="treeStateListener"/>
>     </component>
>
>     <component id="treeDataView" type="contrib:TreeDataView">
>         <binding name="treeView" value="components.treeView"/>
>         <binding name="value" value="value"/>
>     </component>
>
>     <component id="treeNodeView" type="contrib:TreeNodeView">
>         <binding name="treeDataView" value="components.treeDataView"/>
>         <binding name="makeNodeDirect" value="true"/>
>                 <binding name="nodeRenderFactory" value="renderFactory"/>
>                 <binding name="showNodeImages" value="false"/>
>     </component>
>
>         <component id="info" type="Insert">
>                 <binding name="value" value="lastNodeSelectedMsg"/>
>         </component>
>
> </page-specification>
>
> FirstTreePage.java:
> public class FirstTreePage extends BasePage implements ITreeStateListener
> {
>         private ITreeDataModel treeDataModel;
>
>         private ITreeModel treeModel;
>
>         private Object value;
>
>         public FirstTreePage() {
>                 treeModel=null;
>         }
>         public INodeRenderFactory getRenderFactory()
>     {
>         //System.out.println("getRenderFactory");
>         return new SimpleNodeRenderFactory();
>     }
>
>         public void attach(IEngine value,IRequestCycle cycle) {
>                 super.attach(value,cycle);
>         }
>
>         public void detach() {
>                 super.detach();
>                 treeDataModel = null;
>                 value = null;
>         }
>
>         public ITreeStateListener getTreeStateListener() {
>                 System.out.println("getTreeStateListener");
>                 return this;
>         }
>
>         /*
>          * @see
> org.apache.tapestry.contrib.tree.model.ITreeStateListener#treeStateChanged
> (org.apache.tapestry.contrib.tree.model.TreeStateEvent)
>          */
>         public void treeStateChanged(TreeStateEvent objEvent) {
>                 System.out.println("TreeStateChanged");
>         // Get the StringTreeNode object that was selected
>         TreeView treeView = (TreeView)getComponent("treeView");
>         if(treeView != null){
>             ITreeDataModel thisTreeDataModel =
> treeView.getTreeModel().getTreeDataModel();
>             Object selectedNode =
> thisTreeDataModel.getObject(objEvent.getNodeUID());
>             if(selectedNode instanceof StringTreeNode){
>
>                lastNodeSelectedValue =
> ((StringTreeNode)selectedNode).getValue();
>
>             }
>         } else { // This shouldn't happen
>             lastNodeSelectedValue = objEvent.getNodeUID().toString();
>         }
>         }
>
>     String lastNodeSelectedValue;
>     public String getLastNodeSelectedMsg()
>     {
>         if(lastNodeSelectedValue==null){
>             return null;
>         }
>         return lastNodeSelectedValue + " was the last node selected.";
>     }
>    /**
>      * Get the TreeModel that contains the nodes to be rendered
>      *
>      * @return ITreeModel
>      */
>      public ITreeModel getTreeModel() {
>          System.out.println("GetTreeModell");
>          if (treeModel == null) {
>
>
>             // Create and "connect" all the nodes
>             TreeNode node1 = new StringTreeNode("Root Node",1);
>             TreeNode node2 = new StringTreeNode("Child One",2);
>             TreeNode node2a = new StringTreeNode("Grandchild One",3);
>             node2.insert(node2a);
>             node1.insert(node2);
>             TreeNode node3 = new StringTreeNode("Child Two",4);
>             TreeNode node3a = new StringTreeNode("GrandChild Two",5);
>             node3.insert(node3a);
>             TreeNode node3a1 = new StringTreeNode("Great Grandchild
> One",6);
>             node3a.insert(node3a1);
>             node1.insert(node3);
>
>             // Wrap the root node in a SimpleTreeDataModel
>             treeDataModel = new SimpleTreeDataModel(node1);
>             // Wrap the SimpleTreeDataModel in a SimpleTreeModel
>             treeModel = new SimpleTreeModel(treeDataModel);
>          }
>          return treeModel;
>      }
> }
>
>
>
> 2005/12/5, Istvan Zakar <[EMAIL PROTECTED]>:
> > Hello!
> >
> > I hope i'm sending this message to the right place. I've tried to
> > figure out how to use contrib:tree in tapestry 4. I've managed to
> > display a tree, and I can expand the root node, but when I try to
> > expand the following node the whole tree collapses.
> >
> > Please help me :)
> >
> > Best Regards,
> >    Istvan
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to