internal static ProjectNode LoadFromXml(XmlReader reader) { reader.ReadStartElement(); ProjectNodeType projectNodeType = reader.ReadRequiredSiblingElementContentAsEnum <ProjectNodeType>("node_type"); ProjectNode projectNode; switch (projectNodeType) { case ProjectNodeType.File: projectNode = new ProjectFile(); break; case ProjectNodeType.Directory: projectNode = new ProjectFolder(); break; case ProjectNodeType.Branch: projectNode = new ProjectBranch(); break; default: throw new XmlException(); } ((IXmlSerializable)projectNode).ReadXml(reader); return(projectNode); }
/// <summary> /// Default Constructor /// </summary> /// <param name="text"></param> /// <param name="name"></param> /// <param name="imageIndex"></param> /// <param name="selimageindex"></param> /// <param name="projectNodeType"></param> public ExTreeNode(string text, string name, ProjectNodeType projectNodeType) { Text = text; Name = name; Type = projectNodeType; int i = 0; if (projectNodeType == ProjectNodeType.File) i = 1; ImageIndex = i; SelectedImageIndex = i; }
public ProjectNode(ProjectNode parent, string name, ProjectNodeType type) { Type = type; //todo Code Duplication. How the eff do base constructors work in C#? Name = name; if (parent == null) { Lvl = 0; } else { Lvl = parent.Lvl + 1; } }
/// <summary> /// Default Constructor /// </summary> /// <param name="text"></param> /// <param name="name"></param> /// <param name="imageIndex"></param> /// <param name="selimageindex"></param> /// <param name="projectNodeType"></param> public ExTreeNode(string text, string name, ProjectNodeType projectNodeType) { Text = text; Name = name; Type = projectNodeType; int i = 0; if (projectNodeType == ProjectNodeType.File) { i = 1; } ImageIndex = i; SelectedImageIndex = i; }