using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml.Serialization; using RainmeterStudio.Core.Storage; namespace RainmeterStudio.Core.Model { /// /// Defines a Rainmeter Studio project /// public class Project { #region Private fields private string _name; private string _path; #endregion #region Properties /// /// Gets or sets the name of the project /// public string Name { get { return _name; } set { _name = value; if (Root != null) Root.Data = new Reference(Name, Path); } } /// /// Gets or sets the file path of this project /// public string Path { get { return _path; } set { _path = value; if (Root != null) Root.Data = new Reference(Name, Path); } } /// /// Gets or sets the author of the project /// public string Author { get; set; } /// /// Gets or sets the version of the project /// public Version Version { get; set; } /// /// Gets or sets the reference to the file to automatically load at package installation /// public Reference AutoLoadFile { get; set; } /// /// Gets or sets the list of variable files /// public List VariableFiles { get; set; } /// /// Gets or sets the minimum rainmeter version /// public Version MinimumRainmeter { get; set; } /// /// Gets or sets the minimum Windows version /// public Version MinimumWindows { get; set; } /// /// Gets or sets the root node /// public Tree Root { get; set; } #endregion #region Constructor /// /// Initializes a project /// public Project() { Root = new Tree(); VariableFiles = new List(); Version = new Version(); MinimumRainmeter = new Version("3.1"); MinimumWindows = new Version("5.1"); } #endregion } }