protected TreeNode BaseNodeAsTreeNode(IBaseNode node) { TreeNode result = new TreeNode(node.Name); result.Tag = node; modelGUIConfig.ConfigureTreeNode(result); node.Updated += Node_Updated; if (node.NodeType == eNodeType.VarDefinition) { (node as IVariableDef).VariableTypeChanged += VariableTypeChanged; } if (node.NodeType == eNodeType.DomainObject) { (node as IBaseNode).UpdatedAndRefresh += UpdateAdRefresh; } if (node.NodeType == eNodeType.Root) { (node as IBaseNode).UpdatedAndRefresh += UpdateAdRefresh; } return(result); }
protected void UpdateTreeNodes(TreeNode parentNode) { ModelGUIConfig.ConfigureTreeNode(parentNode); foreach (TreeNode node in parentNode.Nodes) { UpdateTreeNodes(node); } }
private void ShowModelPreview() { tvModel.Nodes.Clear(); IDecisionTree tree = App.NewDescisionTree(); IBaseNode baseNode = tree.CreateNewNode(eNodeType.Root, null, "Decision model"); TreeNode rootNode = modelGUIConfig.BaseNodeAsTreeNode(baseNode); modelGUIConfig.ConfigureTreeNode(rootNode); tvModel.Nodes.Add(modelGUIConfig.ConfigureTreeNode(rootNode)); baseNode = tree.CreateNewNode(eNodeType.VariableDefinitions, null, "Variable definitions"); TreeNode vars = modelGUIConfig.BaseNodeAsTreeNode(baseNode); rootNode.Nodes.Add(modelGUIConfig.ConfigureTreeNode(vars)); baseNode = tree.CreateNewNode(eNodeType.VarDefinition, null, "Variable definition"); TreeNode node = modelGUIConfig.BaseNodeAsTreeNode(baseNode); vars.Nodes.Add(modelGUIConfig.ConfigureTreeNode(node)); baseNode = tree.CreateNewNode(eNodeType.DomainObject, null, "Domain object"); TreeNode decision = modelGUIConfig.BaseNodeAsTreeNode(baseNode); vars.Nodes.Add(modelGUIConfig.ConfigureTreeNode(decision)); baseNode = tree.CreateNewNode(eNodeType.Expression, null, "Expression"); node = modelGUIConfig.BaseNodeAsTreeNode(baseNode); rootNode.Nodes.Add(modelGUIConfig.ConfigureTreeNode(node)); baseNode = tree.CreateNewNode(eNodeType.Branch, null, "Branch"); node = modelGUIConfig.BaseNodeAsTreeNode(baseNode); rootNode.Nodes.Add(modelGUIConfig.ConfigureTreeNode(node)); tvModel.ExpandAll(); }