Re: LinkTree will not be updated

2009-04-27 Thread ElenaStoll
James McLaughlin jomclaughlin at gmail.com writes:
 
 add tree.updateTree(target) before adding the tree to the target.
 
 hth,
 jim

Thank you for your quick response, but your proposal has not helped me, 
unfortunately. The tree remains as it is and it will not be updated.
Thanks

elena






-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



LinkTree will not be updated

2009-04-22 Thread ElenaStoll
I have a problem with LinkTree in Wicket, namely : 
I have a LinkTree where NodeComponent a TreeLinkIconPanel is.
TreeLinkIconPanel is a subclass of LinkIconPanel.

public TreeLinkIconPanel(String id, IModel model, BaseTree tree) {
super(id, model, tree);
}

Where a content as a label and image as a normal Icon:

protected Component newContentComponent(String componentId, BaseTree tree,
IModel model) {
...
if (model.getObject() instanceof ProcessNode) {
  lLabel = new Label(componentId, ((ProcessNode) model.getObject())
.getName());
}
...
return lLabel;
}

@Override
protected Component newImageComponent(String componentId, BaseTree tree,
IModel model) {
Image lImage=(Image)super.newImageComponent(componentId, tree, model);
if (model.getObject() instanceof ProcessNode) {
lImage = new Image(componentId,((ProcessNode)model.getObject   
  ()).getState());
}
...
return lImage;
}


The model is not updated, when the Tree to AjaxRequestTarget added.
And when ClickEven must this tree, in my case image the tree's, refresh
But what is not done:

protected void onNodeLinkClicked(TreeNode node, BaseTree tree,
AjaxRequestTarget target) {
super.onNodeLinkClicked(node, tree, target);
if (node instanceof ProcessNode) {
((ProcessNode)node).setStateGreen();
fireProcessClickEvent(target);
} else if (node instanceof ActivityNode) {
((ActivityNode)node).setStateYellow();
fireActivityClickEvent(((ActivityNode) node).getName(), 
target);
}
}

Here, this event is received:

tree.addTreeListener(new TreeListener() {

@Override
public void onActivityClicked(String nameOfNode,AjaxRequestTarget 
target){
...
target.addComponent(tree);
}
@Override
public void onProcessClicked(AjaxRequestTarget target) {
... 
target.addComponent(tree);
}

});


But if I befor the tree, the new model set, then it works:

tree.addTreeListener(new TreeListener() {

@Override
public void onActivityClicked(String nameOfNode,AjaxRequestTarget 
target){
...
tree.setModel(new Model((Serializable) new DefaultTreeModel
  (processNode)));
target.addComponent(tree);
}
@Override
public void onProcessClicked(AjaxRequestTarget target) {
... 
tree.setModel(new Model((Serializable) new DefaultTreeModel
  (processNode)));
target.addComponent(tree);
}

});
It is of course not as nice and not so expected. 
If someone can help me - that would be very nice. 
Thanks in advance.
Elena




-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: LinkTree will not be updated

2009-04-22 Thread James McLaughlin
add tree.updateTree(target) before adding the tree to the target.

hth,
jim



 tree.addTreeListener(new TreeListener() {

@Override
public void onActivityClicked(String nameOfNode,AjaxRequestTarget
target){
...
target.addComponent(tree);
}
@Override
public void onProcessClicked(AjaxRequestTarget target) {
...
target.addComponent(tree);
}

 });








 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org