private void refreshTreeView() { dataModel.Text = template.GetDataModelAsString(); foreach (PromptGroup pg in template) { template.Sort(delegate(PromptGroup p1, PromptGroup p2) { return(p1.OrderKey.CompareTo(p2.OrderKey)); }); foreach (Prompt p in pg) { pg.Sort(delegate(Prompt p1, Prompt p2) { return(p1.OrderKey.CompareTo(p2.OrderKey)); }); } } documentTree.BeginUpdate(); documentTree.Nodes.Clear(); int topNode = 0; try { topNode = documentTree.TopNode.Index; } catch { } TreeNode templateNode = new TreeNode(template.Name, Icons.SCRIPT, Icons.SCRIPT); templateNode.Tag = BuildObjectIDPack(template, "template", new NodeClicker(TreeViewClickHandler.Template_Click)); templateNode.Name = template.Name; int icon = 0; foreach (PromptGroup promptGroup in template) { icon = Icons.FORM; if (promptGroup.Repeatable) { icon = Icons.APPLICATION_CASCADE; } TreeNode promptGroupNode = new TreeNode(promptGroup.Name, icon, icon); promptGroupNode.Tag = BuildObjectIDPack(promptGroup, "promptgroup", new NodeClicker(TreeViewClickHandler.PromptGroup_Click)); promptGroupNode.Name = promptGroup.Name; //Add each prompt foreach (Prompt prompt in promptGroup) { icon = 0; switch (prompt.Type) { case Prompt.PromptType.TEXT: icon = Icons.TEXT_FIELD; break; case Prompt.PromptType.MULTILINE: //icon = Icons.TEXT_ALIGN_LEFT; icon = Icons.TEXT_FIELD_ADD; break; case Prompt.PromptType.DATE: icon = Icons.DATE; break; case Prompt.PromptType.CHECKBOX: icon = Icons.CHECKBOX; break; default: icon = Icons.TEXT_FIELD; break; } TreeNode promptNode = new TreeNode(prompt.Name, icon, icon); promptNode.Tag = BuildObjectIDPack(prompt, "prompt", new NodeClicker(TreeViewClickHandler.Prompt_Click)); promptNode.Name = prompt.Name; promptGroupNode.Nodes.Add(promptNode); } templateNode.Nodes.Add(promptGroupNode); } documentTree.Nodes.Add(templateNode); documentTree.ExpandAll(); try { documentTree.TopNode = documentTree.Nodes[topNode]; } catch { } documentTree.EndUpdate(); doc.Data = template.Output; }
private void refreshTreeView() { dataModel.Text = template.GetDataModelAsString(); foreach (PromptGroup pg in template) { template.SortPromptGroups(); foreach (AbstractPrompt p in pg) { pg.SortPrompts(); } } leftTabs_DocumentTree.BeginUpdate(); leftTabs_DocumentTree.Nodes.Clear(); int topNode = 0; if (leftTabs_DocumentTree.TopNode != null) { topNode = leftTabs_DocumentTree.TopNode.Index; } TreeNode templateNode = new TreeNode(template.Name, Icons.SCRIPT, Icons.SCRIPT); templateNode.Tag = BuildObjectIDPack(template, "template", new NodeClicker(TreeViewClickHandler.Template_Click)); templateNode.Name = template.Name; int icon = 0; foreach (PromptGroup promptGroup in template) { icon = Icons.FORM; if (promptGroup.Repeatable) { icon = Icons.APPLICATION_CASCADE; } TreeNode promptGroupNode = new TreeNode(promptGroup.Name, icon, icon); promptGroupNode.Tag = BuildObjectIDPack(promptGroup, "promptgroup", new NodeClicker(TreeViewClickHandler.PromptGroup_Click)); promptGroupNode.Name = promptGroup.Name; //Add each prompt foreach (AbstractPrompt prompt in promptGroup) { icon = prompt.GetIcon(); TreeNode promptNode = new TreeNode(prompt.Name, icon, icon); promptNode.Tag = BuildObjectIDPack(prompt, "prompt", new NodeClicker(TreeViewClickHandler.Prompt_Click)); promptNode.Name = prompt.Name; promptGroupNode.Nodes.Add(promptNode); } templateNode.Nodes.Add(promptGroupNode); } leftTabs_DocumentTree.Nodes.Add(templateNode); leftTabs_DocumentTree.ExpandAll(); try { leftTabs_DocumentTree.TopNode = leftTabs_DocumentTree.Nodes[topNode]; } catch { } leftTabs_DocumentTree.EndUpdate(); doc.Data = template.Output; }