Exemple #1
0
            public void UpdateChildren()
            {
                Nodes.Clear();

                var baseDir = Path.GetDirectoryName(Project.FileName);

                // First add observed directories
                foreach (var d in Project.SubDirectories)
                {
                    DirectoryNode.CheckIfSubDirExists(this, d.StartsWith(baseDir) ? d.Substring(baseDir.TrimEnd(Path.DirectorySeparatorChar).Length + 1) : d);
                }

                // Then add modules/files
                foreach (var f in from m in Project.Files select m.FileName)
                {
                    // Create directory node
                    var fDir    = Path.IsPathRooted(f)?"": Path.GetDirectoryName(f);
                    var dirNode = DirectoryNode.CheckIfSubDirExists(this, fDir);

                    var fnode = new FileNode()
                    {
                        FileName = Path.GetFileName(f)
                    };
                    fnode.Tag = f;
                    fnode.SelectedImageKey = fnode.ImageKey = GetFileIconKey(f);

                    dirNode.Nodes.Add(fnode);
                }
            }