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-tp18765641p18783181.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