tulio
1
Hi, I’m trying to create a MoveNode, and I want to remove the auto inserted waypoint, but the remove opeartion always returns false. Here is the code:
public void createTree()
{
ProgramModel model = programAPI.getProgramModel();
ProgramNodeFactory nf = model.getProgramNodeFactory();
TreeNode root = model.getRootTreeNode(this);
try {
TreeNode treeNode = root.addChild(nf.createMoveNode());
treeNode.removeChild(treeNode.getChildren().get(0));
} catch (TreeStructureException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
tulio
2
Funny fact…
If I use the method above called createTree() in the constructor in the contribution class:
public MyappProgramNodeContribution(MyAppProgramNodeView view, DataModel model, ProgramAPIProvider apiProvider, CreationContext context) {
this.view = view;
this.model = model;
this.programAPI = apiProvider.getProgramAPI();
if (context.getNodeCreationType() == CreationContext.NodeCreationType.NEW) {
createTree();
}
It will not delete anything at all with removeChild…
However if I place the code from createTree in the view, such as:
@Override
public void openView() {
ProgramModel model = programAPI.getProgramModel();
TreeNode root = model.getRootTreeNode(this);
if(root.getChildren().size() <=0)
createTree();
}
It works like a charm!
system
Closed
3
This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.