예제 #1
0
        private static void AddScriptBodies(ArchAngel.Interfaces.Template.Folder folder, string filesDir)
        {
            foreach (var subFolder in folder.Folders)
            {
                AddScriptBodies(subFolder, filesDir);
            }

            foreach (var file in folder.Files)
            {
                string filePath = Path.Combine(filesDir, string.Format("File_{0}.vnh_script", file.Id));
                file.Script.Body = File.ReadAllText(filePath);
            }

            foreach (var file in folder.StaticFiles)
            {
                string filePath = Path.Combine(filesDir, string.Format("StaticFile_{0}_Skip.vnh_script", file.Id));
                file.SkipThisFileScript = File.ReadAllText(filePath);
            }
        }
예제 #2
0
 public void AddNewFolder()
 {
     try
     {
         if (ArchAngel.Interfaces.SharedData.CurrentProject.TemplateProject.IsOfficial)
         {
             if (MessageBox.Show(this, "Changes can't be made to built-in templates. Do you want to save-as a custom template?", "Built-in template", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes)
             {
                 SaveAs();
             }
             return;
         }
         if (treeFiles.SelectedNodes.Count == 0)
         {
             MessageBox.Show(this, "Select a folder to add this file to first.", "No Folder Selected", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
             return;
         }
         else if (treeFiles.SelectedNodes.Count > 1)
         {
             throw new Exception("Only one node should be selected.");
         }
         Cursor = Cursors.WaitCursor;
         Refresh();
         Node selectedNode = treeFiles.SelectedNodes[0];
         ArchAngel.Interfaces.Template.Folder parentFolder = (ArchAngel.Interfaces.Template.Folder)selectedNode.Tag;
         ArchAngel.Interfaces.Template.Folder newFolder = new ArchAngel.Interfaces.Template.Folder()
         {
             ID = ArchAngel.Interfaces.SharedData.CurrentProject.TemplateProject.GetNextAvailableFolderId(),
             Name = "NewFolder",
             Iterator = ArchAngel.Interfaces.Template.IteratorTypes.None,
             ParentFolder = parentFolder
         };
         parentFolder.Folders.Add(newFolder);
         CreateNewFolderAndAddToTree(selectedNode, newFolder);
         syntaxEditorFilename.Focus();
     }
     finally
     {
         Controller.Instance.MainForm.Activate();
         Cursor = Cursors.Default;
     }
 }