77 lines
2.4 KiB
C#
77 lines
2.4 KiB
C#
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<ProjectObjectModel>
|
|
{
|
|
}
|
|
|
|
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; } }
|
|
}
|
|
}
|