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

namespace CommonMP.HYSSOP.OptionImpl.HSViewer.DotNetViewer
{
    /// <summary><para>class outline:</para>
    /// <para>右軸（棒）データコレクション</para>
    /// </summary>
    /// <remarks><para>history:</para>
    /// <para>[CommonMP][ver 1.0.0][2010/12/04][新規作成]</para>
    /// </remarks>
    public class HySEvViewRainfallItems : CollectionBase
    {
        /**********************************************************************
         * 変数の定義
        **********************************************************************/
        /// <summary> ファイル名 </summary>
        private string m_sFileName = "";
        /// <summary> インデックス </summary>
        private int m_NowIdx = 1;
        //private string[] m_AlertMsg = null;
        /// <summary> 色 </summary>
        private System.Drawing.Color m_LineColor = System.Drawing.Color.DeepSkyBlue;

        /**********************************************************************
         * プロパティの定義
        **********************************************************************/
        /// <summary>
        /// ファイル名
        /// </summary>
        public string FileName	//ファイル名
        {
            set
            {
                m_sFileName = value;
            }
            get
            {
                return m_sFileName;
            }
        }

        /// <summary>
        /// インデックス
        /// </summary>
        public int NowIdx	//インデックス
        {
            set
            {
                m_NowIdx = value;
            }
            get
            {
                return m_NowIdx;
            }
        }

        ///// <summary>
        ///// 
        ///// </summary>
        //public string[] AlertMsg	//アラートメッセージ
        //{
        //    set
        //    {
        //        m_AlertMsg = value;
        //    }
        //    get
        //    {
        //        return m_AlertMsg;
        //    }
        //}

        /// <summary>
        /// 色
        /// </summary>
        public System.Drawing.Color LineColor
        {
            set
            {
                m_LineColor = value;
            }
            get
            {
                return m_LineColor;
            }
        }

        /// <summary><para>method outline:</para>
        /// <para>コンストラクタ</para>
        /// </summary>
        /// <example><para>usage:</para>
        /// <para>HySEvViewRainfallItems csRainfallTimes = new HySEvViewRainfallItems()</para>
        /// </example>
        /// <param name="">無し</param>
        /// <returns>無し</returns>
        /// <exception cref="">無し</exception>
        /// <remarks><para>remarks:</para>
        /// <para>無し</para>
        /// </remarks>
		public HySEvViewRainfallItems()
		{
			
		}
        /// <summary><para>method outline:</para>
        /// <para>雨量データ</para>
        /// </summary>
		public HySEvViewRainfallItem this[ int index ]  
		{
			get  
			{
				return( (HySEvViewRainfallItem) List[index] );
			}
			set  
			{
				List[index] = value;
			}
		}

        /// <summary><para>method outline:</para>
        /// <para>追加</para>
        /// </summary>
        /// <example><para>usage:</para>
        /// <para>Add(value)</para>
        /// </example>
        /// <param name="value">HySEvViewRainfallItem：右軸（棒）の値</param>
        /// <returns>新しい要素が挿入された位置</returns>
        /// <exception cref="">無し</exception>
        /// <remarks><para>remarks:</para>
        /// <para>無し</para>
        /// </remarks>
		public int Add( HySEvViewRainfallItem value )  
		{
			return( List.Add( value ) );
		}

        /// <summary><para>method outline:</para>
        /// <para>インデックス取得</para>
        /// </summary>
        /// <example><para>usage:</para>
        /// <para>IndexOf(value)</para>
        /// </example>
        /// <param name="value">HySEvViewRainfallItem：右軸（棒）の値</param>
        /// <returns>リストに存在する場合は value のインデックス。それ以外の場合は -1</returns>
        /// <exception cref="">無し</exception>
        /// <remarks><para>remarks:</para>
        /// <para>無し</para>
        /// </remarks>
		public int IndexOf( HySEvViewRainfallItem value )  
		{
			return( List.IndexOf( value ) );
		}

        /// <summary><para>method outline:</para>
        /// <para>挿入</para>
        /// </summary>
        /// <example><para>usage:</para>
        /// <para>Insert(index, value)</para>
        /// </example>
        /// <param name="index">int：インデックス</param>
        /// <param name="value">HySEvViewRainfallItem：右軸（棒）の値</param>
        /// <returns>無し</returns>
        /// <exception cref="">無し</exception>
        /// <remarks><para>remarks:</para>
        /// <para>無し</para>
        /// </remarks>
		public void Insert( int index, HySEvViewRainfallItem value )  
		{
			List.Insert( index, value );
		}

        /// <summary><para>method outline:</para>
        /// <para>削除</para>
        /// </summary>
        /// <example><para>usage:</para>
        /// <para>Remove(value)</para>
        /// </example>
        /// <param name="value">HySEvViewRainfallItem：右軸（棒）の値</param>
        /// <returns>無し</returns>
        /// <exception cref="">無し</exception>
        /// <remarks><para>remarks:</para>
        /// <para>無し</para>
        /// </remarks>
		public void Remove( HySEvViewRainfallItem value )  
		{
			List.Remove( value );
		}

        /// <summary><para>method outline:</para>
        /// <para>特定の値が格納されているか判定</para>
        /// </summary>
        /// <example><para>usage:</para>
        /// <para>Contains(value)</para>
        /// </example>
        /// <param name="value">HySEvViewRainfallItem：右軸（棒）の値</param>
        /// <returns>true=存在する/false=しない</returns>
        /// <exception cref="">無し</exception>
        /// <remarks><para>remarks:</para>
        /// <para>無し</para>
        /// </remarks>
		public bool Contains( HySEvViewRainfallItem value )  
		{
			// If value is not of type Int16, this will return false.
			return( List.Contains( value ) );
		}
        /*
        /// <summary>
        /// OnInsert
        /// </summary>
        /// <param name="index">インデックス</param>
        /// <param name="value">値</param>
		protected override void OnInsert( int index, Object value )  
		{
			//			if ( value.GetType() != Type.GetType("HySEvViewRainfallItem") )
			//				throw new ArgumentException( "value must be of type HySEvViewRainfallItem.", "value" );
		}
        /// <summary>
        /// OnRemove
        /// </summary>
        /// <param name="index">インデックス</param>
        /// <param name="value">値</param>
		protected override void OnRemove( int index, Object value )  
		{
			//			if ( value.GetType() != Type.GetType("HySEvViewRainfallItem") )
			//				throw new ArgumentException( "value must be of type HySEvViewRainfallItem.", "value" );
		}
        /// <summary>
        /// OnSet
        /// </summary>
        /// <param name="index">インデックス</param>
        /// <param name="oldValue">値</param>
        /// <param name="newValue">値</param>
		protected override void OnSet( int index, Object oldValue, Object newValue )  
		{
			//			if ( newValue.GetType() != Type.GetType("HySEvViewRainfallItem") )
			//				throw new ArgumentException( "newValue must be of type HySEvViewRainfallItem.", "newValue" );
		}
        /// <summary>
        /// OnValidate
        /// </summary>
        /// <param name="value">値</param>
		protected override void OnValidate( Object value )  
		{
			//			if ( value.GetType() != Type.GetType("HySEvViewRainfallItem") )
			//				throw new ArgumentException( "value must be of type HySEvViewRainfallItem." );
		}	
        */
    }
}
