diff --git a/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Solution/ProjectFile.cs b/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Project/ProjectFile.cs similarity index 98% rename from CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Solution/ProjectFile.cs rename to CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Project/ProjectFile.cs index 4e685e06..424efef0 100644 --- a/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Solution/ProjectFile.cs +++ b/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Project/ProjectFile.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using UniversalEditor.ObjectModels.PropertyList; -namespace UniversalEditor.ObjectModels.Solution +namespace UniversalEditor.ObjectModels.Project { public class ProjectFile : ICloneable { diff --git a/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Solution/ProjectFileSystem.cs b/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Project/ProjectFileSystem.cs similarity index 88% rename from CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Solution/ProjectFileSystem.cs rename to CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Project/ProjectFileSystem.cs index c4e15184..ef6d34f6 100644 --- a/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Solution/ProjectFileSystem.cs +++ b/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Project/ProjectFileSystem.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; -namespace UniversalEditor.ObjectModels.Solution +namespace UniversalEditor.ObjectModels.Project { public class ProjectFileSystem { @@ -19,6 +19,11 @@ namespace UniversalEditor.ObjectModels.Solution /// public ProjectFile.ProjectFileCollection Files { get { return mvarFiles; } } + public void Clear() + { + mvarFolders.Clear(); + mvarFiles.Clear(); + } public void CopyTo(ProjectFileSystem clone) { foreach (ProjectFile file in mvarFiles) diff --git a/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Solution/ProjectFolder.cs b/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Project/ProjectFolder.cs similarity index 97% rename from CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Solution/ProjectFolder.cs rename to CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Project/ProjectFolder.cs index 30325b4c..05164ec8 100644 --- a/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Solution/ProjectFolder.cs +++ b/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Project/ProjectFolder.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; -namespace UniversalEditor.ObjectModels.Solution +namespace UniversalEditor.ObjectModels.Project { public class ProjectFolder : ICloneable { diff --git a/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Project/ProjectObjectModel.cs b/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Project/ProjectObjectModel.cs new file mode 100644 index 00000000..c1cba676 --- /dev/null +++ b/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Project/ProjectObjectModel.cs @@ -0,0 +1,76 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using UniversalEditor.ObjectModels.FileSystem; +using UniversalEditor.ObjectModels.PropertyList; + +namespace UniversalEditor.ObjectModels.Project +{ + public class ProjectObjectModel : ObjectModel + { + public class ProjectObjectModelCollection + : System.Collections.ObjectModel.Collection + { + } + + private static ObjectModelReference _omr = null; + public override ObjectModelReference MakeReference() + { + if (_omr == null) + { + _omr = base.MakeReference(); + _omr.Title = "Project"; + _omr.Description = "Stores a set of related files and folders with an accompanying configuration."; + } + return _omr; + } + + public override void Clear() + { + mvarConfiguration.Clear(); + mvarFileSystem.Clear(); + mvarID = Guid.Empty; + mvarProjectType = null; + mvarReferences.Clear(); + mvarRelativeFileName = String.Empty; + mvarTitle = String.Empty; + } + + public override void CopyTo(ObjectModel where) + { + ProjectObjectModel clone = (where as ProjectObjectModel); + mvarConfiguration.CopyTo(clone.Configuration); + mvarFileSystem.CopyTo(clone.FileSystem); + clone.ID = mvarID; + clone.ProjectType = mvarProjectType; + foreach (Reference _ref in mvarReferences) + { + clone.References.Add(_ref); + } + clone.RelativeFileName = (mvarRelativeFileName.Clone() as string); + clone.Title = (mvarTitle.Clone() as string); + } + + private Guid mvarID = Guid.Empty; + public Guid ID { get { return mvarID; } set { mvarID = value; } } + + private string mvarTitle = String.Empty; + public string Title { get { return mvarTitle; } set { mvarTitle = value; } } + + private PropertyListObjectModel mvarConfiguration = new PropertyListObjectModel(); + public PropertyListObjectModel Configuration { get { return mvarConfiguration; } } + + private Reference.ReferenceCollection mvarReferences = new Reference.ReferenceCollection(); + public Reference.ReferenceCollection References { get { return mvarReferences; } } + + private ProjectFileSystem mvarFileSystem = new ProjectFileSystem(); + public ProjectFileSystem FileSystem { get { return mvarFileSystem; } } + + private ProjectType mvarProjectType = null; + public ProjectType ProjectType { get { return mvarProjectType; } set { mvarProjectType = value; } } + + private string mvarRelativeFileName = String.Empty; + public string RelativeFileName { get { return mvarRelativeFileName; } set { mvarRelativeFileName = value; } } + } +} diff --git a/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Solution/Reference.cs b/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Project/Reference.cs similarity index 97% rename from CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Solution/Reference.cs rename to CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Project/Reference.cs index e8355c7e..9438bbbb 100644 --- a/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Solution/Reference.cs +++ b/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Project/Reference.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; -namespace UniversalEditor.ObjectModels.Solution +namespace UniversalEditor.ObjectModels.Project { public class Reference { diff --git a/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Solution/Project.cs b/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Solution/Project.cs deleted file mode 100644 index 934f4640..00000000 --- a/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Solution/Project.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using UniversalEditor.ObjectModels.FileSystem; -using UniversalEditor.ObjectModels.PropertyList; - -namespace UniversalEditor.ObjectModels.Solution -{ - public class Project - { - public class ProjectCollection - : System.Collections.ObjectModel.Collection - { - } - - private Guid mvarID = Guid.Empty; - public Guid ID { get { return mvarID; } set { mvarID = value; } } - - private string mvarTitle = String.Empty; - public string Title { get { return mvarTitle; } set { mvarTitle = value; } } - - private PropertyListObjectModel mvarConfiguration = new PropertyListObjectModel(); - public PropertyListObjectModel Configuration { get { return mvarConfiguration; } } - - private Reference.ReferenceCollection mvarReferences = new Reference.ReferenceCollection(); - public Reference.ReferenceCollection References { get { return mvarReferences; } } - - private ProjectFileSystem mvarFileSystem = new ProjectFileSystem(); - public ProjectFileSystem FileSystem { get { return mvarFileSystem; } } - - private ProjectType mvarProjectType = null; - public ProjectType ProjectType { get { return mvarProjectType; } set { mvarProjectType = value; } } - - private string mvarRelativeFileName = String.Empty; - public string RelativeFileName { get { return mvarRelativeFileName; } set { mvarRelativeFileName = value; } } - } -} diff --git a/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Solution/SolutionObjectModel.cs b/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Solution/SolutionObjectModel.cs index bd53dca3..3fc4808e 100644 --- a/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Solution/SolutionObjectModel.cs +++ b/CSharp/Plugins/UniversalEditor.Essential/ObjectModels/Solution/SolutionObjectModel.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; +using UniversalEditor.ObjectModels.Project; namespace UniversalEditor.ObjectModels.Solution { @@ -20,22 +21,24 @@ namespace UniversalEditor.ObjectModels.Solution public override void Clear() { - throw new NotImplementedException(); + mvarConfiguration.Clear(); + mvarProjects.Clear(); + mvarTitle = String.Empty; } public override void CopyTo(ObjectModel where) { SolutionObjectModel solution = (where as SolutionObjectModel); solution.Title = (mvarTitle.Clone() as string); - foreach (Project project in mvarProjects) + foreach (ProjectObjectModel project in mvarProjects) { solution.Projects.Add(project); } mvarConfiguration.CopyTo(solution.Configuration); } - private Project.ProjectCollection mvarProjects = new Project.ProjectCollection(); - public Project.ProjectCollection Projects { get { return mvarProjects; } } + private ProjectObjectModel.ProjectObjectModelCollection mvarProjects = new ProjectObjectModel.ProjectObjectModelCollection(); + public ProjectObjectModel.ProjectObjectModelCollection Projects { get { return mvarProjects; } } private string mvarTitle = String.Empty; public string Title { get { return mvarTitle; } set { mvarTitle = value; } } diff --git a/CSharp/Plugins/UniversalEditor.Essential/UniversalEditor.Essential.csproj b/CSharp/Plugins/UniversalEditor.Essential/UniversalEditor.Essential.csproj index 2a18e605..d91a756c 100644 --- a/CSharp/Plugins/UniversalEditor.Essential/UniversalEditor.Essential.csproj +++ b/CSharp/Plugins/UniversalEditor.Essential/UniversalEditor.Essential.csproj @@ -78,11 +78,11 @@ - - - - - + + + + + @@ -95,6 +95,7 @@ UniversalEditor.Core +