public static ZApplication Load(XmlDocument xmlDocument, ZTreeView treeView) { _treeView = treeView; if (treeView != null) treeView.Nodes.Clear(); ZApplication app = new ZApplication(); _unresolved = new List<Unresolved>(); XmlNode rootElement = xmlDocument.DocumentElement; if (rootElement != null) { if (treeView != null) ProcessNode(app, null, treeView.Nodes, rootElement); else ProcessNode(app, null, null, rootElement); } foreach(var unres in _unresolved) { ZComponent target = ZComponent.App.Find(unres.value); if (target != null) unres.prop.SetValue(unres.comp, target); else Console.WriteLine("Unresolved field: {0} - {1}", unres.prop.FieldType.Name, unres.value); } _unresolved.Clear(); if (treeView != null) { treeView.xmlDocument = xmlDocument; treeView.ExpandAll(); treeView.Invalidate(); } return app; }
public void FillTreeView(ZTreeView treeView) { this.treeView = treeView; treeView.SetProject(this); treeView.Nodes.Clear(); XmlNode rootElement = xmlDoc.DocumentElement; if (rootElement != null) ProcessNode(app, null, 0, treeView.Nodes, rootElement); if (treeView != null) { treeView.xmlDocument = xmlDoc; treeView.ExpandAll(); treeView.Invalidate(); } }