using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
namespace VEPROMS.CSLA.Library
{
	[Serializable]
	[TypeConverter(typeof(ExpandableObjectConverter))]
	public class TransitionConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
	{
		private XMLProperties _Xp;
		private XMLProperties Xp
		{
			get { return _Xp; }
		}
		public TransitionConfig(string xml)
		{
			if (xml == string.Empty) xml = "";
			_Xp = new XMLProperties(xml);
		}
		public TransitionConfig(TransitionInfo ti)
		{
			string xml = ti.Config;
			if (xml == string.Empty) xml = "";
			_Xp = new XMLProperties(xml);
		}
		public TransitionConfig(Transition t)
		{
			string xml = t.Config;
			if (xml == string.Empty) xml = "";
			_Xp = new XMLProperties(xml);
		}
		public TransitionConfig()
		{
			_Xp = new XMLProperties();
		}
		public override string ToString()
		{
			string s = _Xp.ToString();
			if (s == "" || s == "") return string.Empty;
			return s;
        }
        #region GeneralTransitionProperties
        [Category("Formatted")]		// format transition, i.e. include page number
		[DisplayName("Formatted")]
        [RefreshProperties(RefreshProperties.All)]
		[Description("Formatted")]
        public string Transition_Formatted
        {
            get
            {
                return _Xp["Transition", "Formatted"];
            }
            set
            {
				_Xp["Transition", "Formatted"] = value;
            }
        }
        #endregion
    }
}