예제 #1
0
 public void LoadItems()
 {
     if (this.ProjectItem is Project prj)
     {
         for (int i = 0; i < prj.Contents.Count; ++i)
         {
             var pitn = new ProjectItemTreeNode(prj.Contents[i]);
             pitn.ContextMenuStrip = this.ContextMenuStrip;
             pitn.LoadItems();
             this.Nodes.Add(pitn);
         }
     }
 }
예제 #2
0
        public override FileTreeNode CreateDir(string dirname)
        {
            ProjectItemTreeNode result;

            if (this.ProjectItem is Project proj)               // 計画である。
            {
                var meta  = this.Folder.CreateDir(dirname);
                var pitem = proj.AddGroup(meta, ItemGroup.FolderKind.Asset);
                result = new ProjectItemTreeNode(pitem);
                this.Nodes.Add(result);
            }
            else                 // 項目である。
            {
                var meta  = this.File.Parent.CreateDir(dirname);
                var pitem = this.ProjectItem.Parent.AddGroup(meta, ItemGroup.FolderKind.Asset);
                result = new ProjectItemTreeNode(pitem);
                this.Parent.Nodes.Add(result);
            }
            return(result);
        }
예제 #3
0
        public override FileTreeNode CreateFile(string filename)
        {
            ProjectItemTreeNode result;

            if (this.ProjectItem is Project proj)               // 計画である。
            {
                var meta  = this.Folder.CreateFile(filename);
                var pitem = proj.AddItem(meta);
                result = new ProjectItemTreeNode(pitem);
                this.Nodes.Add(result);
            }
            else                 // 項目である。
            {
                var meta  = this.File.Parent.CreateFile(filename);
                var pitem = this.ProjectItem.Parent.AddItem(meta);
                result = new ProjectItemTreeNode(pitem);
                this.Parent.Nodes.Add(result);
            }
            return(result);
        }
예제 #4
0
        public override FileTreeNode AddItem(ItemMetadata meta)
        {
            ProjectItemTreeNode result;

            if (this.ProjectItem is Project proj)               // 計画である。
            {
                meta = meta.Copy(this.Folder.Path.Bond(meta.Name));
                this.Folder.AddItem(meta);
                var pitem = proj.AddItem(meta);
                result = new ProjectItemTreeNode(pitem);
                this.Nodes.Add(result);
            }
            else                 // 項目である。
            {
                meta = meta.Copy(this.File.Parent.Path.Bond(meta.Name));
                this.File.Parent.AddItem(meta);
                var pitem = this.ProjectItem.Parent.AddItem(meta);
                result = new ProjectItemTreeNode(pitem);
                this.Parent.Nodes.Add(result);
            }
            return(result);
        }