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);
        }
示例#2
0
 /// <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;
     }
 }
示例#4
0
        /// <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;
        }