public override void DeleteItem ()
		{
			GuiBuilderWindow w = (GuiBuilderWindow) CurrentNode.DataItem;
			string fn = FileService.AbsoluteToRelativePath (w.Project.Project.BaseDirectory, w.SourceCodeFile);
			using (ConfirmWindowDeleteDialog dialog = new ConfirmWindowDeleteDialog (w.Name, fn, w.RootWidget)) {
				if (dialog.Run () == (int) Gtk.ResponseType.Yes) {
					if (dialog.DeleteFile) {
						ProjectFile file = w.Project.Project.GetProjectFile (w.SourceCodeFile);
						if (file != null)
							w.Project.Project.Files.Remove (file);
					}
					w.Project.Remove (w);
					w.Project.SaveProject (false);
					IdeApp.ProjectOperations.SaveAsync (w.Project.Project);
				}
			}
		}
		public override void DeleteItem ()
		{
			// Don't allow deleting action groups local to a window
			GuiBuilderWindow w = (GuiBuilderWindow) CurrentNode.GetParentDataItem (typeof(GuiBuilderWindow), false);
			if (w != null)
				return;

			Project project = (Project) CurrentNode.GetParentDataItem (typeof(Project), false);
			Stetic.ActionGroupInfo group = (Stetic.ActionGroupInfo) CurrentNode.DataItem;
			GuiBuilderProject gproject = GtkDesignInfo.FromProject (project).GuiBuilderProject;
			string sfile = gproject.GetSourceCodeFile (group);

			if (sfile != null) {
				using (ConfirmWindowDeleteDialog dialog = new ConfirmWindowDeleteDialog (group.Name, sfile, group)) {
					if (dialog.Run () == (int) Gtk.ResponseType.Yes) {
						if (dialog.DeleteFile) {
							ProjectFile file = project.GetProjectFile (sfile);
							if (file != null)
								project.Files.Remove (file);
						}
						gproject.RemoveActionGroup (group);
						gproject.SaveProject (false);
						IdeApp.ProjectOperations.SaveAsync (project);
					}
				}
			}
		}