using System;
using System.Collections.Generic;
using System.Text;

namespace Vortex.SceneFramework.CSS {

	/// <summary>
	/// Contains information about style property: index, name, value type, parse rules etc...
	/// </summary>
	public class StylePropertyInfo {

		/// <summary>
		/// Initializes a new instance of the <see cref="StylePropertyInfo"/> class.
		/// </summary>
		/// <param name="index">The index of property.</param>
		/// <param name="name">The name of property.</param>
		/// <param name="valueType">Type of the property value.</param>
		public StylePropertyInfo(int index, string name, Type valueType, object defaultValue) {
			Index = index;
			Name = name;
			ValueType = valueType;
			DefaultValue = defaultValue;
		}

		/// <summary>
		/// Gets the index of property in the style sheet.
		/// </summary>
		/// <value>The index of property in the style sheet.</value>
		public int Index {
			get; private set;
		}

		/// <summary>
		/// Gets the name of property.
		/// </summary>
		/// <value>The name of style property.</value>
		public string Name {
			get; private set;
		}

		/// <summary>
		/// Gets the type of the property value.
		/// </summary>
		/// <value>The type of the property value.</value>
		public Type ValueType {
			get; private set;
		}

		/// <summary>
		/// Gets or sets the default value for property.
		/// </summary>
		/// <value>The default value of property.</value>
		public object DefaultValue {
			get; private set;
		}
	}
}
