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]