Author: mkrueger
Date: 2007-05-24 07:51:04 -0400 (Thu, 24 May 2007)
New Revision: 77905

Added:
   
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/SystemFileNode.cs
   
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/SystemFileNodeBuilder.cs
Modified:
   
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Core.Gui/MonoDevelop.Core.Gui.mdp
   branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/Makefile.am
   
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Commands/ProjectCommands.cs
   
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/DirectoryNodeBuilder.cs
   
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/FileNode.cs
   
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/FileNodeBuilder.cs
   
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/SolutionProjectNodeBuilder.cs
   
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Projects/IProject.cs
   
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Projects/ProjectService.cs
   
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Templates/ProjectDescriptor.cs
   
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.addin.xml
   branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.mdp
   branches/mkrueger/monodevelop/Extras/CSharpBinding/CSharpBackendBinding.cs
Log:
Worked on project browser. Generalized the IProject interface a bit.

Modified: 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Core.Gui/MonoDevelop.Core.Gui.mdp
===================================================================
--- 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Core.Gui/MonoDevelop.Core.Gui.mdp
        2007-05-24 11:18:14 UTC (rev 77904)
+++ 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Core.Gui/MonoDevelop.Core.Gui.mdp
        2007-05-24 11:51:04 UTC (rev 77905)
@@ -92,7 +92,7 @@
     <File name="./icons/Icons.16x16.ToggleBookmark" subtype="Code" 
buildaction="EmbedAsResource" />
     <File name="./icons/Icons.16x16.WebSearchIcon" subtype="Code" 
buildaction="EmbedAsResource" />
     <File name="./icons/Icons.16x16.XMLFileIcon" subtype="Code" 
buildaction="EmbedAsResource" />
-       <File name="./icons/Icons.16x16.ClosedDashedFolder" subtype="Code" 
buildaction="EmbedAsResource" />
+    <File name="./icons/Icons.16x16.ClosedDashedFolder" subtype="Code" 
buildaction="EmbedAsResource" />
     <File name="./icons/Icons.16x16.DashedFile" subtype="Code" 
buildaction="EmbedAsResource" />
     <File name="./icons/Icons.16x16.OpenDashedFolderBitmap" subtype="Code" 
buildaction="EmbedAsResource" />
     <File name="./icons/Icons.32x32.CombineIcon" subtype="Code" 
buildaction="EmbedAsResource" />
@@ -214,4 +214,4 @@
   <DeploymentInformation strategy="File">
     <excludeFiles />
   </DeploymentInformation>
-</Project>
+</Project>
\ No newline at end of file

Modified: branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/Makefile.am
===================================================================
--- branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/Makefile.am  
2007-05-24 11:18:14 UTC (rev 77904)
+++ branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/Makefile.am  
2007-05-24 11:51:04 UTC (rev 77905)
@@ -166,6 +166,8 @@
        MonoDevelop.Ide.Gui.Pads.SolutionPad/SolutionItemNodeBuilder.cs \
        MonoDevelop.Ide.Gui.Pads.SolutionPad/SolutionNodeBuilder.cs \
        MonoDevelop.Ide.Gui.Pads.SolutionPad/SolutionProjectNodeBuilder.cs \
+       MonoDevelop.Ide.Gui.Pads.SolutionPad/SystemFileNode.cs \
+       MonoDevelop.Ide.Gui.Pads.SolutionPad/SystemFileNodeBuilder.cs \
        MonoDevelop.Ide.Gui.Pads/DefaultMonitorPad.cs \
        MonoDevelop.Ide.Gui.Pads/DragOperation.cs \
        MonoDevelop.Ide.Gui.Pads/ErrorListPad.cs \

Modified: 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Commands/ProjectCommands.cs
===================================================================
--- 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Commands/ProjectCommands.cs
  2007-05-24 11:18:14 UTC (rev 77904)
+++ 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Commands/ProjectCommands.cs
  2007-05-24 11:51:04 UTC (rev 77905)
@@ -33,6 +33,7 @@
                AddNewFiles,
                AddFiles,
                NewFolder,
+               ExcludeFromProject,
                IncludeToProject,
                Build,
                BuildSolution,

Modified: 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/DirectoryNodeBuilder.cs
===================================================================
--- 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/DirectoryNodeBuilder.cs
 2007-05-24 11:18:14 UTC (rev 77904)
+++ 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/DirectoryNodeBuilder.cs
 2007-05-24 11:51:04 UTC (rev 77905)
@@ -111,8 +111,12 @@
                        foreach (string fileName in 
Directory.GetFiles(basePath)) {
                                bool isInProject = 
IsFileInProject(directoryNode.Project.Project, fileName);
                                
-                               if (ProjectSolutionPad.Instance.ShowAllFiles || 
isInProject) 
-                                       ctx.AddChild (new FileNode 
(directoryNode.Project, fileName, isInProject));
+                               if (ProjectSolutionPad.Instance.ShowAllFiles || 
isInProject) { 
+                                       if (isInProject)
+                                               ctx.AddChild (new FileNode 
(directoryNode.Project, fileName));
+                                       else
+                                               ctx.AddChild (new 
SystemFileNode (directoryNode.Project, fileName));
+                               }
                        }
                        
                        foreach (string directoryName in 
Directory.GetDirectories(basePath)) {

Modified: 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/FileNode.cs
===================================================================
--- 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/FileNode.cs
     2007-05-24 11:18:14 UTC (rev 77904)
+++ 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/FileNode.cs
     2007-05-24 11:51:04 UTC (rev 77905)
@@ -39,7 +39,6 @@
        {
                SolutionProject solutionProject;
                string          fileName;
-               bool            isInProject;
                
                public SolutionProject Project {
                        get {
@@ -47,23 +46,16 @@
                        }
                }
                
-               public bool IsInProject {
-                       get {
-                               return isInProject;
-                       }
-               }
-               
                public string FileName {
                        get {
                                return this.fileName;
                        }
                }
                
-               public FileNode (SolutionProject solutionProject, string 
fileName, bool isInProject)
+               public FileNode (SolutionProject solutionProject, string 
fileName)
                {
                        this.solutionProject = solutionProject;
                        this.fileName        = fileName;
-                       this.isInProject     = isInProject;
                }
        }
 }

Modified: 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/FileNodeBuilder.cs
===================================================================
--- 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/FileNodeBuilder.cs
      2007-05-24 11:18:14 UTC (rev 77904)
+++ 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/FileNodeBuilder.cs
      2007-05-24 11:51:04 UTC (rev 77905)
@@ -34,6 +34,7 @@
 using MonoDevelop.Core;
 using MonoDevelop.Ide.Commands;
 using MonoDevelop.Ide.Gui;
+using MonoDevelop.Ide.Gui.Dialogs;
 using MonoDevelop.Core.Gui;
 using MonoDevelop.Core.Gui.Utils;
 using MonoDevelop.Components.Commands;
@@ -52,6 +53,10 @@
                        get { return typeof(FileNode); }
                }
                
+               public override string ContextMenuAddinPath {
+                       get { return 
"/SharpDevelop/Views/ProjectBrowser/ContextMenu/ProjectFileNode"; }
+               }
+               
                public override Type CommandHandlerType {
                        get { return typeof(FileNodeCommandHandler); }
                }
@@ -80,15 +85,11 @@
                        if (fileNode == null) 
                                return;
                        label = Path.GetFileName (fileNode.FileName);
-                       if (fileNode.IsInProject) {
-                               string ic = Services.Icons.GetImageForFile 
(fileNode.FileName);
-                               if (ic != Stock.MiscFiles || !File.Exists 
(fileNode.FileName))
-                                       icon = Context.GetIcon (ic);
-                               else
-                                       icon = FileIconLoader.GetPixbufForFile 
(fileNode.FileName, 16);
-                       } else {
-                               icon = Context.GetIcon (Stock.DashedFileIcon);
-                       }
+                       string ic = Services.Icons.GetImageForFile 
(fileNode.FileName);
+                       if (ic != Stock.MiscFiles || !File.Exists 
(fileNode.FileName))
+                               icon = Context.GetIcon (ic);
+                       else
+                               icon = FileIconLoader.GetPixbufForFile 
(fileNode.FileName, 16);
                }
                
                public override void BuildChildNodes (ITreeBuilder ctx, object 
dataObject)
@@ -110,6 +111,63 @@
        
        public class FileNodeCommandHandler: NodeCommandHandler
        {
+               public override void RenameItem (string newName)
+               {
+                       FileNode fileNode = CurrentNode.DataItem as FileNode;
+                       if (fileNode == null) 
+                               return;
+                       
+                       string oldPath = fileNode.FileName;
+                       string newPath = Path.Combine (Path.GetDirectoryName 
(oldPath), newName);
+                       
+                       if (oldPath != newPath) {
+                               try {
+                                       if (Runtime.FileService.IsValidFileName 
(newPath)) {
+                                               Runtime.FileService.RenameFile 
(oldPath, newName);
+                                               ProjectService.SaveSolution ();
+                                       }
+                               } catch (System.IO.IOException) {   // assume 
duplicate file
+                                       Services.MessageService.ShowError 
(GettextCatalog.GetString ("File or directory name is already in use, choose a 
different one."));
+                               } catch (System.ArgumentException) { // new 
file name with wildcard (*, ?) characters in it
+                                       Services.MessageService.ShowError 
(GettextCatalog.GetString ("The file name you have chosen contains illegal 
characters. Please choose a different file name."));
+                               }
+                       }
+               }
+               
+               [CommandHandler (EditCommands.Delete)]
+               public void RemoveItem ()
+               {
+                       FileNode fileNode = CurrentNode.DataItem as FileNode;
+                       if (fileNode == null) 
+                               return;
+                       DeleteFileDialog deleteDialog = new DeleteFileDialog 
(GettextCatalog.GetString ("Are you sure you want to remove file {0} from 
project {1}?", Path.GetFileName (fileNode.FileName), fileNode.Project.Name));
+                       try {
+                               bool dialogResult = deleteDialog.Run ();
+                               if (!dialogResult) 
+                                       return;
+                               Runtime.FileService.DeleteFile 
(fileNode.FileName);
+                               ProjectService.SaveSolution ();
+                       } finally {
+                               deleteDialog.Destroy ();
+                       }
+               }
+               
+               [CommandHandler (ProjectCommands.ExcludeFromProject)]
+               public void ExcludeFromProject ()
+               {
+                       FileNode fileNode = CurrentNode.DataItem as FileNode;
+                       if (fileNode == null) 
+                               return;
+                       foreach (ProjectItem item in 
fileNode.Project.Project.Items) {
+                               string fileName = Path.GetFullPath 
(Path.Combine (fileNode.Project.Project.BasePath, SolutionProject.NormalizePath 
(item.Include)));
+                               if (fileName == fileNode.FileName) {
+                                       fileNode.Project.Project.Items.Remove 
(item);
+                                       ProjectService.SaveProject 
(fileNode.Project.Project);
+                                       break;
+                               }
+                       }
+               }
+               
                public override void ActivateItem ()
                {
                        FileNode fileNode = CurrentNode.DataItem as FileNode;

Modified: 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/SolutionProjectNodeBuilder.cs
===================================================================
--- 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/SolutionProjectNodeBuilder.cs
   2007-05-24 11:18:14 UTC (rev 77904)
+++ 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/SolutionProjectNodeBuilder.cs
   2007-05-24 11:51:04 UTC (rev 77905)
@@ -98,8 +98,12 @@
                        foreach (string fileName in 
Directory.GetFiles(basePath)) {
                                bool isInProject = 
DirectoryNodeBuilder.IsFileInProject(solutionProject.Project, fileName);
                                
-                               if (ProjectSolutionPad.Instance.ShowAllFiles || 
isInProject) 
-                                       ctx.AddChild (new FileNode 
(solutionProject, fileName, isInProject));
+                               if (ProjectSolutionPad.Instance.ShowAllFiles || 
isInProject) {
+                                       if (isInProject)
+                                               ctx.AddChild (new FileNode 
(solutionProject, fileName));
+                                       else
+                                               ctx.AddChild (new 
SystemFileNode (solutionProject, fileName));
+                               }
                        }
                        
                        foreach (string directoryName in 
Directory.GetDirectories(basePath)) {

Added: 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/SystemFileNode.cs
===================================================================
--- 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/SystemFileNode.cs
       2007-05-24 11:18:14 UTC (rev 77904)
+++ 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/SystemFileNode.cs
       2007-05-24 11:51:04 UTC (rev 77905)
@@ -0,0 +1,61 @@
+//
+// SystemFileNode.cs
+//
+// Author:
+//   Mike Krüger <[EMAIL PROTECTED]>
+//
+// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Collections;
+using System.IO;
+
+using MonoDevelop.Ide.Projects;
+using MonoDevelop.Ide.Projects.Item;
+
+namespace MonoDevelop.Ide.Gui.Pads.SolutionViewPad
+{
+       public class SystemFileNode
+       {
+               SolutionProject solutionProject;
+               string          fileName;
+               
+               public SolutionProject Project {
+                       get {
+                               return this.solutionProject;
+                       }
+               }
+               
+               public string FileName {
+                       get {
+                               return this.fileName;
+                       }
+               }
+               
+               public SystemFileNode (SolutionProject solutionProject, string 
fileName)
+               {
+                       this.solutionProject = solutionProject;
+                       this.fileName        = fileName;
+               }
+       }
+}

Added: 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/SystemFileNodeBuilder.cs
===================================================================
--- 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/SystemFileNodeBuilder.cs
        2007-05-24 11:18:14 UTC (rev 77904)
+++ 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.SolutionPad/SystemFileNodeBuilder.cs
        2007-05-24 11:51:04 UTC (rev 77905)
@@ -0,0 +1,107 @@
+//
+// SystemFileNodeBuilder.cs
+//
+// Author:
+//   Mike Krüger <[EMAIL PROTECTED]>
+//
+// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Collections;
+using System.IO;
+
+using MonoDevelop.Ide.Projects;
+using MonoDevelop.Core;
+using MonoDevelop.Ide.Commands;
+using MonoDevelop.Ide.Gui;
+using MonoDevelop.Ide.Gui.Dialogs;
+using MonoDevelop.Core.Gui;
+using MonoDevelop.Core.Gui.Utils;
+using MonoDevelop.Components.Commands;
+using MonoDevelop.Ide.Gui.Search;
+using MonoDevelop.Ide.Projects.Item;
+
+namespace MonoDevelop.Ide.Gui.Pads.SolutionViewPad
+{
+       public class SystemFileNodeBuilder : TypeNodeBuilder
+       {
+               public SystemFileNodeBuilder ()
+               {
+               }
+
+               public override Type NodeDataType {
+                       get { return typeof(SystemFileNode); }
+               }
+               
+               public override string ContextMenuAddinPath {
+                       get { return 
"/SharpDevelop/Views/ProjectBrowser/ContextMenu/SystemFileNode"; }
+               }
+               
+               public override Type CommandHandlerType {
+                       get { return typeof(SystemFileNodeCommandHandler); }
+               }
+               
+               public override string GetNodeName (ITreeNavigator thisNode, 
object dataObject)
+               {
+                       SystemFileNode systemFileNode = dataObject as 
SystemFileNode;
+                       if (systemFileNode == null) 
+                               return "FileNode";
+                       
+                       return Path.GetFileName (systemFileNode.FileName);
+               }
+               
+               public override void GetNodeAttributes (ITreeNavigator 
treeNavigator, object dataObject, ref NodeAttributes attributes)
+               {
+                       attributes |= NodeAttributes.AllowRename;
+               }
+               
+               public override void BuildNode (ITreeBuilder treeBuilder, 
object dataObject, ref string label, ref Gdk.Pixbuf icon, ref Gdk.Pixbuf 
closedIcon)
+               {
+                       SystemFileNode systemFileNode = dataObject as 
SystemFileNode;
+                       if (systemFileNode == null) 
+                               return;
+                       label = Path.GetFileName (systemFileNode.FileName);
+                       icon  = Context.GetIcon (Stock.DashedFileIcon);
+               }
+       }
+       
+       public class SystemFileNodeCommandHandler: FileNodeCommandHandler
+       {
+               [CommandHandler (ProjectCommands.IncludeToProject)]
+               public void IncludeToProject ()
+               {
+                       FileNode fileNode = CurrentNode.DataItem as FileNode;
+                       if (fileNode == null) 
+                               return;
+                       foreach (ProjectItem item in 
fileNode.Project.Project.Items) {
+                               string fileName = Path.GetFullPath 
(Path.Combine (fileNode.Project.Project.BasePath, SolutionProject.NormalizePath 
(item.Include)));
+                               if (fileName == fileNode.FileName) {
+                                       fileNode.Project.Project.Items.Remove 
(item);
+                                       ProjectService.SaveProject 
(fileNode.Project.Project);
+                                       break;
+                               }
+                       }
+               }
+       }
+}
+

Modified: 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Projects/IProject.cs
===================================================================
--- 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Projects/IProject.cs
 2007-05-24 11:18:14 UTC (rev 77904)
+++ 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Projects/IProject.cs
 2007-05-24 11:51:04 UTC (rev 77905)
@@ -57,41 +57,6 @@
                        get;
                }
                
-               string Configuration {
-                       get;
-                       set;
-               }
-               
-               string Platform {
-                       get;
-                       set;
-               }
-               
-               string AssemblyName {
-                       get;
-                       set;
-               }
-               
-               string RootNamespace {
-                       get;
-                       set;
-               }
-               
-               string OutputType {
-                       get;
-                       set;
-               }
-               
-               string OutputPath {
-                       get;
-                       set;
-               }
-               
-               string DefineConstants {
-                       get;
-                       set;
-               }
-               
                void Save ();
        }
 }

Modified: 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Projects/ProjectService.cs
===================================================================
--- 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Projects/ProjectService.cs
   2007-05-24 11:18:14 UTC (rev 77904)
+++ 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Projects/ProjectService.cs
   2007-05-24 11:51:04 UTC (rev 77905)
@@ -45,7 +45,8 @@
 {
        public static class ProjectService
        {
-               static Solution solution;
+               static Solution        solution;
+               static string          solutionFileName;
                static SolutionProject activeProject;
                
                public static Solution Solution {
@@ -67,8 +68,8 @@
                
                public static IAsyncOperation OpenSolution (string fileName)
                {
+                       solutionFileName = fileName;
                        solution = Solution.Load (fileName);
-                       Console.WriteLine ("loaded : " + solution);
                        ActiveProject = null;
                        OnSolutionOpened (new SolutionEventArgs (solution));
                        return NullAsyncOperation.Success;
@@ -84,6 +85,17 @@
                        }
                }
                
+               public static void SaveProject (IProject project)
+               {
+                       project.Save ();
+               }
+               
+               public static void SaveSolution ()
+               {
+                       if (Solution != null)
+                               Solution.Save (solutionFileName);
+               }
+               
                public static bool IsSolution (string fileName)
                {
                        return Path.GetExtension (fileName) == ".sln";

Modified: 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Templates/ProjectDescriptor.cs
===================================================================
--- 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Templates/ProjectDescriptor.cs
       2007-05-24 11:18:14 UTC (rev 77904)
+++ 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Templates/ProjectDescriptor.cs
       2007-05-24 11:51:04 UTC (rev 77905)
@@ -78,7 +78,7 @@
                        }
                        
                        //Project_ project = 
Services.ProjectService.CreateProject (projectType, projectCreateInformation, 
projectOptions);
-                       IProject project = new MSBuildProject ();
+                       MSBuildProject project = new MSBuildProject ();
                        
                        if (project == null) {
                                Services.MessageService.ShowError 
(GettextCatalog.GetString ("Can't create project with type : {0}", 
projectType));

Modified: 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.addin.xml
===================================================================
--- 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.addin.xml
    2007-05-24 11:18:14 UTC (rev 77904)
+++ 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.addin.xml
    2007-05-24 11:51:04 UTC (rev 77905)
@@ -339,6 +339,8 @@
                                icon  = "md-new-folder-icon" />
                <Command id = 
"MonoDevelop.Ide.Commands.ProjectCommands.IncludeToProject"
                                _label = "Include To Project" />
+               <Command id = 
"MonoDevelop.Ide.Commands.ProjectCommands.ExcludeFromProject"
+                               _label = "Exclude From Project" />
                <Command id = 
"MonoDevelop.Ide.Commands.ProjectCommands.BuildSolution"
                                defaultHandler = 
"MonoDevelop.Ide.Commands.BuildSolutionHandler"
                                _label = "Buil_d Solution"
@@ -723,16 +725,18 @@
                        <CommandItem id = 
"MonoDevelop.Ide.Commands.ViewCommands.OpenWithList" />
                </ItemSet>
                <SeparatorItem id = "OpenSeparator" />
+       <!--
                <ItemSet id = "Include" _label = "Include">
                        <CommandItem id = 
"MonoDevelop.Ide.Commands.ProjectCommands.IncludeInBuild" />
                        <CommandItem id = 
"MonoDevelop.Ide.Commands.ProjectCommands.IncludeInDeploy" />
-               </ItemSet>
-               <SeparatorItem id = "IncludeSeparator" />
+               </ItemSet> 
+               <SeparatorItem id = "IncludeSeparator" /> -->
                <CommandItem id = "MonoDevelop.Ide.Commands.EditCommands.Copy" 
/>
                <CommandItem id = "MonoDevelop.Ide.Commands.EditCommands.Cut" />
                <SeparatorItem id = "CutSeparator" />
                <CommandItem id = 
"MonoDevelop.Ide.Commands.EditCommands.Delete" />
                <CommandItem id = 
"MonoDevelop.Ide.Commands.EditCommands.Rename" />
+               <CommandItem id = 
"MonoDevelop.Ide.Commands.ProjectCommands.ExcludeFromProject" />
        </Extension>
                
        <Extension path = 
"/SharpDevelop/Views/ProjectBrowser/ContextMenu/SystemFileNode"  
extension-nodes="CommandItem, SeparatorItem, ItemSet, LinkItem, 
LocalCommandItem" description="Context menu for a file (not belonging to a 
project) in the solution pad.">
@@ -834,6 +838,7 @@
                        
                        
                        <NodeBuilder class = 
"MonoDevelop.Ide.Gui.Pads.SolutionViewPad.DirectoryNodeBuilder"/>
+                       <NodeBuilder class = 
"MonoDevelop.Ide.Gui.Pads.SolutionViewPad.SystemFileNodeBuilder"/>
                        <NodeBuilder class = 
"MonoDevelop.Ide.Gui.Pads.SolutionViewPad.FileNodeBuilder"/>
                        
                        <NodeBuilder class = 
"MonoDevelop.Ide.Gui.Pads.SolutionViewPad.ReferenceFolderNodeBuilder"/>

Modified: 
branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.mdp
===================================================================
--- branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.mdp  
2007-05-24 11:18:14 UTC (rev 77904)
+++ branches/mkrueger/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.mdp  
2007-05-24 11:51:04 UTC (rev 77905)
@@ -331,6 +331,8 @@
     <File name="./MonoDevelop.Ide.Gui.Pads.SolutionPad/ReferenceFolderNode.cs" 
subtype="Code" buildaction="Compile" />
     <File 
name="./MonoDevelop.Ide.Gui.Pads.SolutionPad/ReferenceProjectItemNodeBuilder.cs"
 subtype="Code" buildaction="Compile" />
     <File name="./MonoDevelop.Ide.Projects/BeforeCompileAction.cs" 
subtype="Code" buildaction="Compile" />
+    <File name="./MonoDevelop.Ide.Gui.Pads.SolutionPad/SystemFileNode.cs" 
subtype="Code" buildaction="Compile" />
+    <File 
name="./MonoDevelop.Ide.Gui.Pads.SolutionPad/SystemFileNodeBuilder.cs" 
subtype="Code" buildaction="Compile" />
   </Contents>
   <References>
     <ProjectReference type="Gac" localcopy="False" refto="gecko-sharp, 
Version=2.0.0.0, Culture=neutral, PublicKeyToken=ccf7d78a55e9f021" />

Modified: 
branches/mkrueger/monodevelop/Extras/CSharpBinding/CSharpBackendBinding.cs
===================================================================
--- branches/mkrueger/monodevelop/Extras/CSharpBinding/CSharpBackendBinding.cs  
2007-05-24 11:18:14 UTC (rev 77904)
+++ branches/mkrueger/monodevelop/Extras/CSharpBinding/CSharpBackendBinding.cs  
2007-05-24 11:51:04 UTC (rev 77905)
@@ -96,8 +96,9 @@
                        return ".dll";
                }
                
-               public override CompilerResult Compile (IProject project, 
IProgressMonitor monitor)
+               public override CompilerResult Compile (IProject prj, 
IProgressMonitor monitor)
                {
+                       MSBuildProject project = prj as MSBuildProject;
                        string responseFileName = Path.GetTempFileName ();
                        Console.WriteLine (responseFileName);
                        StreamWriter writer = new StreamWriter 
(responseFileName);

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to