Example #1
0
		public override void Run()
		{
			ProjectNode node = ProjectBrowserPad.Instance.CurrentProject;
			if (node != null) {
				if (node.Project.ReadOnly)
				{
					MessageService.ShowWarningFormatted("${res:Dialog.NewFile.ReadOnlyProjectWarning}", node.Project.FileName);
				}
				else
				{
					int result = MessageService.ShowCustomDialog("${res:Dialog.NewFile.AddToProjectQuestionTitle}",
					                                             "${res:Dialog.NewFile.AddToProjectQuestion}",
					                                             "${res:Dialog.NewFile.AddToProjectQuestionProject}",
					                                             "${res:Dialog.NewFile.AddToProjectQuestionStandalone}");
					if (result == 0) {
						node.AddNewItemsToProject();
						return;
					} else if (result == -1) {
						return;
					}
				}
				
			}
			using (NewFileDialog nfd = new NewFileDialog(null)) {
				nfd.ShowDialog(WorkbenchSingleton.MainWin32Window);
			}
		}
Example #2
0
 public FileTemplateResult ShowNewFileDialog(IProject project, DirectoryName directory, IEnumerable<TemplateCategory> templates)
 {
     #if DEBUG
     SD.Templates.UpdateTemplates();
     #endif
     using (NewFileDialog nfd = new NewFileDialog(project, directory, templates ?? SD.Templates.TemplateCategories)) {
         if (nfd.ShowDialog(SD.WinForms.MainWin32Window) == DialogResult.OK)
             return nfd.result;
         else
             return null;
     }
 }
Example #3
0
		public override void Run()
		{
			if (ProjectBrowserPad.Instance.CurrentProject != null) {
				int result = MessageService.ShowCustomDialog("${res:Dialog.NewFile.AddToProjectQuestionTitle}",
				                                             "${res:Dialog.NewFile.AddToProjectQuestion}",
				                                             "${res:Dialog.NewFile.AddToProjectQuestionProject}",
				                                             "${res:Dialog.NewFile.AddToProjectQuestionStandalone}");
				if (result == 0) {
					ProjectBrowserPad.Instance.CurrentProject.AddNewItemsToProject();
					return;
				} else if (result == -1) {
					return;
				}
			}
			using (NewFileDialog nfd = new NewFileDialog(null)) {
				nfd.Owner = (Form)WorkbenchSingleton.Workbench;
				nfd.ShowDialog(ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.MainForm);
			}
		}
		protected IEnumerable<FileProjectItem> AddNewItems()
		{
			DirectoryNode node = ProjectBrowserPad.Instance.ProjectBrowserControl.SelectedDirectoryNode;
			if (node == null) {
				return null;
			}
			node.Expand();
			node.Expanding();
			
			List<FileProjectItem> addedItems = new List<FileProjectItem>();
			
			using (NewFileDialog nfd = new NewFileDialog(node.Directory)) {
				if (nfd.ShowDialog(WorkbenchSingleton.MainWin32Window) == DialogResult.OK) {
					bool additionalProperties = false;
					foreach (KeyValuePair<string, FileDescriptionTemplate> createdFile in nfd.CreatedFiles) {
						FileProjectItem item = node.AddNewFile(createdFile.Key);
						addedItems.Add(item);
						
						if (createdFile.Value.SetProjectItemProperties(item)) {
							additionalProperties = true;
						}
					}
					if (additionalProperties) {
						node.Project.Save();
						node.RecreateSubNodes();
					}
				}
			}
			
			return addedItems.AsReadOnly();
		}
		public override void Run()
		{
			TreeNode selectedNode = ProjectBrowserPad.Instance.ProjectBrowserControl.SelectedNode;
			DirectoryNode node = null;
			while (selectedNode != null && node == null) {
				node = selectedNode as DirectoryNode;
				selectedNode = selectedNode.Parent;
			}
			if (node == null) {
				return;
			}
			node.Expand();
			node.Expanding();
			
			using (NewFileDialog nfd = new NewFileDialog(node.Directory)) {
				if (nfd.ShowDialog(ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.MainForm) == DialogResult.OK) {
					bool additionalProperties = false;
					foreach (KeyValuePair<string, FileDescriptionTemplate> createdFile in nfd.CreatedFiles) {
						FileProjectItem item = CreateNewFile(node, createdFile.Key);
						
						if (createdFile.Value.SetProjectItemProperties(item)) {
							additionalProperties = true;
						}
					}
					if (additionalProperties) {
						node.Project.Save();
						node.RecreateSubNodes();
					}
				}
			}
		}