Thanks for that man... well I was able to get something to work from
that.....however I will give a full throttle try tomorrow...will be heading
towards the forums again incase i get any problems....

vishy


Korbinian Bachl - privat wrote:
> 
> He is a core dev - just listen to him :P
> 
> ok, simple treeNode would be:
> 
> <wicket:panel>
>       IM A NODE
>       <div wicket:id="content">-</div>
> </wicket:pane>
> 
> and Java:
> 
> class TreeNode extends Panel {
> 
>       public TreeNode(String id, AnyOtherPossibleThingsYouNeed o) {
>               
>               if(IWantADeeperNodeFromHere) {
>                       add(new TreeNode("content"));
>               }
>               else {
>                       add(TheContenYouWantPanel("content"));
>               }
>       }
> 
> }
> 
> 
> as long as your IWantDeeperNodeFromHere is true you get a tree based 
> upon this:
> 
> IM A NODE
> <div>
>       IM A NODE
>       <div>
>               IM A NODE
>               <div>
>                  TheContentYouWant
>               </div>
>       </div>
> </div>
> 
> (case of 3 Nodes you get 3 stacked divs - place whatever you like; 
> Wicket is all about OO so inheriting itself and recursive calls are no 
> problem at all.
> 
> Best,
> 
> Korbinian
> 
> vishy_sb schrieb:
>> 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]
>>>
>>>
>>>
>> 
> 
> ---------------------------------------------------------------------
> 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-tp18765641p18786973.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]

Reply via email to