/// <summary> /// To initialize an PDDLTabItem instance from a .pddlx file (in xml format) /// </summary> /// <param name="text">the text string of the source .pddlx file</param> public override void SetText(string text) { //generate an SNModel instance from the .uml source code PDDLModel pddlModel = PDDLModel.LoadPDDLModelFromXML(text); if (pddlModel.Domain != null) { DomainNode.Tag = pddlModel.Domain; } else { DomainNode.Tag = null; } ProblemsNode.Nodes.Clear(); foreach (var problem in pddlModel.Problems) { TreeNode node = ProblemsNode.Nodes.Add(problem.Key); node.Tag = problem.Value; node.Name = problem.Key; node.Text = problem.Key; } textEditorControl.Visible = true; InitTextEditor(); }
//Generate XML from the current PDDLTabItem private XmlDocument GetDoc() { PDDLFile domain = null; if (DomainNode.Tag != null) { domain = DomainNode.Tag as PDDLFile; } Dictionary <string, PDDLFile> problems = new Dictionary <string, PDDLFile>(); foreach (TreeNode node in ProblemsNode.Nodes) { problems.Add(node.Name, node.Tag as PDDLFile); } PDDLModel pddlModel = new PDDLModel("PDDLModel", problems, domain); return(pddlModel.GenerateXML()); }