// <summary>ソースコード：モデルジェネレーターデータ設定スクリーンクラス</summary>
// <author>CommonMP</author>

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

using CommonMP.HYSSOP.CoreImpl.HSData;
using CommonMP.HYMCO.CoreOptions.McViewer.DotNetViewer;

namespace CommonMP.HYMCO.CoreOptions.McViewer.MdlGenScreenCommonLIB
{
    /// <summary>
    /// 
    /// </summary>
    public class McMdlGenInfSettingScreen : McDotNetModelDataGeneratorScreenBase
    {
        /// <summary>画面本体フォーム </summary>
        protected McMdlGenInfSettingForm m_csInfSettingForm;

        /// <summary>設定するべきデータ種別</summary>
        protected HySObjectKind m_csInputDataKind = null;

        /// <summary><para>method outline:</para>
        /// <para>デフォルトコンストラクタ</para>
        /// </summary>
        /// <example><para>usage:</para>
        /// <para>McMdlGenInfSettingScreen csScreen = new McMdlGenInfSettingScreen()</para>
        /// </example>
        /// <param name="">なし</param>
        /// <returns>McMdlGenInfSettingScreen 生成インスタンス</returns>
        /// <exception cref="">無し</exception>
        /// <remarks><para>remarks:</para>
        /// <para>使用禁止</para>
        /// </remarks>
        protected McMdlGenInfSettingScreen( )
        {
        }
        /// <summary><para>method outline:</para>
        /// <para>コンストラクタ</para>
        /// </summary>
        /// <example><para>usage:</para>
        /// <para>McMdlGenInfSettingScreen csScreen = new McMdlGenInfSettingScreen()</para>
        /// </example>
        /// <param name="csInputDataKind">入力データ種別</param>
        /// <returns>McMdlGenInfSettingScreen 生成インスタンス</returns>
        /// <exception cref="">無し</exception>
        /// <remarks><para>remarks:</para>
        /// <para>無し</para>
        /// </remarks>
        public McMdlGenInfSettingScreen(HySObjectKind csInputDataKind)
        {
            m_csInputDataKind = csInputDataKind;
        }
        /// <summary><para>method outline:</para>
        /// <para>モデルジェネレータ個別モデル用設定画面フォーム生成</para>
        /// </summary>
        /// <example><para>usage:</para>
        /// <para>McDotNetModelDataGeneratorFormBase csMdlGeneratorForm = CreatePropertyDetailForm()</para>
        /// </example>
        /// <param name="">無し</param>
        /// <returns>McDotNetModelDataGeneratorFormBase モデルジェネレータ個別モデル用設定画面フォーム</returns>
        /// <exception cref="">無し</exception>
        /// <remarks><para>remarks:</para>
        /// <para>無し</para>
        /// </remarks>
        public override McDotNetModelDataGeneratorFormBase CreateModelGeneratorForm()
        {
            m_csInfSettingForm = new McMdlGenInfSettingForm(m_csInputDataKind);
            return m_csInfSettingForm;
        }
        /// <summary>
        /// <para>method outline:</para>
        /// <para>初期処理</para>
        /// </summary>
        /// <example>
        /// <para>usage:</para>
        /// <para> Initialize( ) </para>
        /// </example>
        /// <param name="">無し</param>
        /// <returns>無し</returns>
        /// <exception cref="">無し</exception>
        /// <remarks>
        /// <para>remarks:</para>
        /// <para>無し</para>
        /// </remarks>
        public override void Initialize()
        {
            base.Initialize();
            this.SetDataGridView(m_csMdlGenBaseClickString);
        }
        /// <summary> <para>method outline:</para>
        /// <para>表示位置取得</para>
        /// </summary>
        /// <example>
        /// <para>usage:</para>
        /// <para> GetDispLocation( ref iX, ref iY ) </para>
        /// </example>
        /// <param name="iX">表示位置：Ｘ ピクセル</param>
        /// <param name="iY">表示位置：Ｙピクセル</param>
        /// <returns>無し</returns>
        /// <exception cref="">無し</exception>
        /// <remarks>
        /// <para>remarks:</para>
        /// <para>無し</para>
        /// </remarks>
        public override void GetDispLocation(ref int iX, ref int iY)
        {
            iX = 310;
            iY = 30;
        }

        /// <summary> <para>method outline:</para>
        /// <para>リストボックス選択位置取得</para>
        /// </summary>
        /// <example>
        /// <para>usage:</para>
        /// <para> SetDataGridView(string clickString) </para>
        /// </example>
        /// <param name="clickString">文字列</param>
        /// <returns>無し</returns>
        /// <exception cref="">無し</exception>
        /// <remarks>
        /// <para>remarks:</para>
        /// <para>無し</para>
        /// </remarks>
        public virtual void SetDataGridView(string clickString)
        {
            m_csInfSettingForm.GetClickString(clickString);
            m_csInfSettingForm.SetHeaderDataGridView();
        }

        /// <summary><para>method outline:</para>
        /// <para>設定するデータ種別取得</para>
        /// </summary>
        /// <example><para>usage:</para>
        /// <para>HySObjectKind csKind = GetDataKind()</para>
        /// </example>
        /// <param name="">無し</param>
        /// <returns>HySObjectKind 設定するデータ種別</returns>
        /// <exception cref="">無し</exception>
        /// <remarks><para>remarks:</para>
        /// <para>無し</para>
        /// </remarks>
        internal HySObjectKind GetDataKind()
        { return m_csInputDataKind; }
    }
}
