internal void FromXml(XmlDocumentFolder objectToDeserialize) { try { _opening = true; this.FileName = Win32Utils.GetAbsolutePath(objectToDeserialize.RelativePath, ParentDocument.FileName); base.FromXml(objectToDeserialize); } finally { _opening = false; } }
internal void FromXml(XmlLuaGroupDocumentBase objectToDeserialize) { // Deserialize sub-documents if (objectToDeserialize.Documents != null) { foreach (DocumentRef refDoc in objectToDeserialize.Documents) { refDoc.FileName = Win32Utils.GetAbsolutePath(refDoc.FileName, _fileName); ILuaEditDocument doc = DocumentsManager.Instance.BaseOpenDocument(refDoc); if (doc != null) { this.AddDocument(doc); } } } // Deserialize sub-folders if (objectToDeserialize.DocumentFolders != null) { foreach (XmlDocumentFolder xmlFolder in objectToDeserialize.DocumentFolders) { DocumentFolder folderDoc = new DocumentFolder(); folderDoc.ParentDocument = this; folderDoc.FromXml(xmlFolder); if (folderDoc != null) { this.AddDocument(folderDoc as ILuaEditDocumentFolder); } } } // Deserialize sub-group documents if (objectToDeserialize.DocumentGroups != null) { foreach (DocumentRef refDoc in objectToDeserialize.DocumentGroups) { refDoc.FileName = Win32Utils.GetAbsolutePath(refDoc.FileName, _fileName); ILuaEditDocumentGroup docGrp = DocumentsManager.Instance.BaseOpenDocument(refDoc) as ILuaEditDocumentGroup; if (docGrp != null) { this.AddDocument(docGrp); } } } }