public SolutionItem CreateProject (SolutionFolder parentFolder)
		{
			string basePath = parentFolder != null ? parentFolder.BaseDirectory : null;
			var newProjectDialog = new NewProjectDialogController ();
			newProjectDialog.ParentFolder = parentFolder;
			newProjectDialog.BasePath = basePath;

			if (newProjectDialog.Show ()) {
				var item = newProjectDialog.NewItem as SolutionItem;
				if ((item is Project) && ProjectCreated != null)
					ProjectCreated (this, new ProjectCreatedEventArgs (item as Project));
				return item;
			}
			return null;
		}
		public void NewSolution (string defaultTemplate)
		{
			var newProjectDialog = new NewProjectDialogController ();
			newProjectDialog.OpenSolution = true;
			newProjectDialog.SelectedTemplateId = defaultTemplate;
			newProjectDialog.Show ();
		}
		public WorkspaceItem AddNewWorkspaceItem (Workspace parentWorkspace, string defaultItemId)
		{
			var newProjectDialog = new NewProjectDialogController ();
			newProjectDialog.BasePath = parentWorkspace.BaseDirectory;
			newProjectDialog.SelectedTemplateId = defaultItemId;
			newProjectDialog.ParentWorkspace = parentWorkspace;

			if (newProjectDialog.Show () && newProjectDialog.NewItem != null) {
				parentWorkspace.Items.Add ((WorkspaceItem)newProjectDialog.NewItem);
				Save (parentWorkspace);
				return (WorkspaceItem)newProjectDialog.NewItem;
			}
			return null;
		}
		public void NewSolution (string defaultTemplate)
		{
			if (!IdeApp.Workbench.SaveAllDirtyFiles ())
				return;

			var newProjectDialog = new NewProjectDialogController ();
			newProjectDialog.OpenSolution = true;
			newProjectDialog.SelectedTemplateId = defaultTemplate;
			newProjectDialog.Show ();
		}