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
}
}