I am sorry that I have been really bothering you here but I just need to get this working asap.
so from your reply are you suggesting that I should have a tree structure like this: ----Panel1 ----------Panel2 ----------Panel3 with an HTML markup like: <body> <wicket-panel> <div wicket:id="tree"></div> </wicket-panel> </body> But when I am going to add the components to the tree, don't you think it would look for the those panels in the mark up. So how do I put the panels in the mark up??? Will something like this work: <body> <wicket-panel> <div wicket:id="tree"></div> <div wicket:id="Panel1"></div> <div wicket:id="Panel2"></div> <div wicket:id="Panel3"></div> </wicket-panel> </body> vishy Matej Knopp-2 wrote: > > You need to use panels. Every panel can have different markup. So you > will have a panel for every node type. > > -Matej > > On Fri, Aug 1, 2008 at 11:03 PM, vishy_sb <[EMAIL PROTECTED]> > wrote: >> >> Any ideas about how to get this working???????? >> >> >> >> vishy_sb wrote: >>> >>> Thanks for the quick reply Matej. >>> >>> Well in my implementation I am using a CheckBoxTree example discussed in >>> the forum already >>> (http://www.nabble.com/Checkbox-tree-component-td13433102.html#a13439520). >>> and I am adding all the components in the addcomponents() method in the >>> CheckBoxIconPanel class. However since the HTML mark up that I can have >>> will always remain the same so I am not able to use different component >>> for different nodes. The code is shown below: >>> >>> ////Java Code for the CheckBoxIconPanel class >>> protected void addComponents(final IModel model, final BaseTree tree) { >>> final LimitViewerCheckBoxTree cbTree = >>> (LimitViewerCheckBoxTree) tree; >>> LimitViewerCheckBoxTree.ICheckCallback callback = new >>> LimitViewerCheckBoxTree.ICheckCallback() { >>> private static final long serialVersionUID = 1L; >>> >>> public void onUpdate(AjaxRequestTarget target) { >>> onNodeCheckUpdated((TreeNode) >>> model.getObject(), cbTree, target); >>> } >>> }; >>> >>> IModel dataModel = cbTree.newCheckBoxModel((TreeNode) >>> model.getObject()); >>> int level = (Integer) >>> ((DefaultMutableTreeNode)model.getObject()).getLevel(); >>> >>> if(level == 1){ >>> MarkupContainer cb = null; >>> cb = cbTree.newCheckBox("checkbox", dataModel, >>> callback); >>> ((CheckBox) cb).setVisible(false); >>> add(cb); >>> Component component = >>> newContentComponent("content", tree, model); >>> add(component); >>> limitPanel = new LimitPanel("limitPanel"); >>> add(limitPanel); >>> limitPanel.setVisible(false); >>> >>> InstrumentLimitViewerPanel >>> instrumentLimitViewerPanel = new >>> InstrumentLimitViewerPanel("instrumentLimitViewerPanel", limitInputPanel >>> ,limitViewerForm); >>> add(instrumentLimitViewerPanel); >>> instrumentLimitViewerPanel.setVisible(false); >>> >>> } >>> if(level == 2){ >>> MarkupContainer cb = null; >>> cb = cbTree.newCheckBox("checkbox", dataModel, >>> callback); >>> >>> add(cb); >>> Component component = >>> newContentComponent("content", tree, model); >>> add(component); >>> limitPanel = new LimitPanel("limitPanel"); >>> add(limitPanel); >>> >>> InstrumentLimitViewerPanel >>> instrumentLimitViewerPanel = new >>> InstrumentLimitViewerPanel("instrumentLimitViewerPanel",limitInputPanel, >>> limitViewerForm); >>> add(instrumentLimitViewerPanel); >>> >>> instrumentLimitViewerPanel.setVisible(false); >>> >>> } >>> if(level == 3){ >>> MarkupContainer cb = null; >>> cb = cbTree.newCheckBox("checkbox", dataModel, >>> callback); >>> ((CheckBox) cb).setVisible(false); >>> add(cb); >>> Component component = >>> newContentComponent("content", tree, model); >>> add(component); >>> component.setVisible(false); >>> limitPanel = new LimitPanel("limitPanel"); >>> add(limitPanel); >>> limitPanel.setVisible(false); >>> >>> InstrumentLimitViewerPanel >>> instrumentLimitViewerPanel = new >>> InstrumentLimitViewerPanel("instrumentLimitViewerPanel",limitInputPanel, >>> limitViewerForm); >>> add(instrumentLimitViewerPanel); >>> } catch (Exception e) { >>> e.printStackTrace(); >>> } >>> } >>> } >>> >>> // HTML code >>> >>> <wicket:panel> >>> <div> >>> <table class="icon-panel"> >>> <tr> >>> <td class="content"><input type="checkbox" >>> wicket:id="checkbox"/></td> >>> <td></td> >>> <td><div style="margin:10px 0 0 30px" >>> wicket:id="limitPanel"> >>> </div></td> >>> </tr> >>> >>> </table> >>> </div> >>> <div wicket:id="instrumentLimitViewerPanel"></div> >>> </wicket:panel> >>> >>> So I was wondering if it is possible to add different node components if >>> I >>> want to use the CheckBoxIconPanel or id what you suggested the only way >>> to >>> get this working... >>> >>> >>> Thanks in advance, >>> vishy >>> >>> Matej Knopp-2 wrote: >>>> >>>> You have to use different panel for each Tree item (depending on the >>>> tree node for that item). If you use BaseTree, implement the >>>> #newNodeComponent method accordingly. You can look at LinkTree or >>>> LabelTree for an example of how the implementation can look like. >>>> >>>> Or you can use LinkTree, override newNodeComponent like this >>>> >>>> @Override >>>> protected Component newNodeComponent(String id, IModel model) >>>> { >>>> return new LinkIconPanel(id, model, LinkTree.this) >>>> { >>>> private static final long serialVersionUID = 1L; >>>> >>>> @Override >>>> protected void onNodeLinkClicked(Object node, >>>> BaseTree tree, >>>> AjaxRequestTarget target) >>>> { >>>> super.onNodeLinkClicked(node, tree, >>>> target); >>>> LinkTree.this.onNodeLinkClicked(node, >>>> tree, target); >>>> } >>>> >>>> @Override >>>> protected Component newContentComponent(String >>>> componentId, >>>> BaseTree tree, IModel model) >>>> { >>>> /* HERE CREATE YOUR OWN PANEL DEPENDING ON >>>> THE TREE NODE. YOU CAN GET >>>> THE TREE NODE FOR THIS ROW FROM >>>> model.getObject() */ >>>> } >>>> }; >>>> } >>>> >>>> >>>> -Matej >>>> >>>> On Fri, Aug 1, 2008 at 1:29 AM, vishy_sb <[EMAIL PROTECTED]> >>>> wrote: >>>>> >>>>> http://www.nabble.com/file/p18765641/treeview.jpeg >>>>> >>>>> Hi All, >>>>> >>>>> As shown in the Image I have a checkbox tree which has nodes that have >>>>> different components. Each node of the tree has a checkbox, label, a >>>>> panel >>>>> which has the 3 TextAreas and another panel which has a listview. In >>>>> order >>>>> to get the tree to look like what is shown in the image, I had to set >>>>> the >>>>> visibility of these components across different levels of the Tree >>>>> which >>>>> means that all these components are present at all the nodes but they >>>>> are >>>>> not visible everywhere. Also on top of the tree is another panel(Top >>>>> Panel) >>>>> from where values are submitted on pressing the apply button. Now what >>>>> I >>>>> wanted to achieve in this interface was to apply the limits entered in >>>>> the >>>>> Top Panel to the nodes which are checked (i.e. to the ListView under >>>>> the >>>>> checked node). This seems to be a real complex interface to me but >>>>> there >>>>> has >>>>> to be a way to get this to work. The main problem that I am having is >>>>> that >>>>> how do I get to the ListView (or ListViews) to which I am trying to >>>>> make >>>>> the >>>>> changes. I might be sounding a little confusing here but I am ready to >>>>> explain the whole interface in even more detail. >>>>> >>>>> Please let me know if anyone has any ideas or even a suggestion to >>>>> implement >>>>> this. >>>>> >>>>> Also is there a way to add different components to the different nodes >>>>> in >>>>> the same Tree?????? >>>>> >>>>> >>>>> Kindly let me. >>>>> >>>>> Thanks in advance, >>>>> vishy >>>>> -- >>>>> View this message in context: >>>>> http://www.nabble.com/Dynamically-Making-changes-to-Tree-Node-tp18765641p18765641.html >>>>> Sent from the Wicket - User mailing list archive at Nabble.com. >>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>>> >>>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>> >>>> >>>> >>> >>> >> >> -- >> View this message in context: >> http://www.nabble.com/Dynamically-Making-changes-to-Tree-Node-tp18765641p18782570.html >> Sent from the Wicket - User mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/Dynamically-Making-changes-to-Tree-Node-tp18765641p18783175.html Sent from the Wicket - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]