/// <summary>
        /// Create parametter grid from meta.ParameterDefaultValues
        /// </summary>
        /// <param name="meta"></param>
        protected void SetPara(StrategyMeta meta)
        {
            this.ShowMessage("");

            this.myMeta = meta;
            paramGrid.Rows.Clear();
            string[] keys = meta.ParameterList.Keys;
            object[] values = meta.ParameterList.Values;
            for (int idx = 0; idx < keys.Length; idx++)
            {
                paramGrid.Rows.Add(keys[idx],values[idx]);
            }
            valueColumn.DefaultCellStyle.Format = "N" + meta.ParameterPrecision.ToString();
            paraDescEd.Text = common.system.ToString(meta.ParameterDescriptions);
            hintTextEd.Text = meta.Description + common.Consts.constCRLF + meta.URL;
        }
        /// <summary>
        /// Get meta data from meta file
        /// </summary>
        /// <param name="meta"></param>
        /// <returns></returns>
        public static bool GetMeta(StrategyMeta meta)
        {
            StringCollection aFields = new StringCollection();

            aFields.Clear();
            aFields.Add("Type");
            aFields.Add("Code");
            aFields.Add("Name");
            aFields.Add("Description");
            aFields.Add("Category");

            aFields.Add("Parameters");
            aFields.Add("ParameterPrecision");
            aFields.Add("ParameterDescriptions");

            aFields.Add("URL");
            aFields.Add("Authors");
            aFields.Add("Version");
            common.configuration.GetConfiguration(new string[] { "STRATEGY", meta.ClassType.Name }, aFields, StrategyData.sysXmlDocument, false);

            meta.Type        = AppTypes.Text2StrategyType(aFields[0]);
            meta.Code        = aFields[1];
            meta.Name        = aFields[2];
            meta.Description = aFields[3];
            meta.Category    = aFields[4];

            meta.ParameterList = String2ParameterList(aFields[5]);
            int num = 0; int.TryParse(aFields[6], out num);

            meta.ParameterPrecision    = num;
            meta.ParameterDescriptions = common.system.String2List(aFields[7]);

            meta.URL     = aFields[8];
            meta.Authors = aFields[9];
            meta.Version = aFields[10];
            return(true);
        }
        /// <summary>
        /// Get meta data from meta file
        /// </summary>
        /// <param name="meta"></param>
        /// <returns></returns>
        public static bool GetMeta(StrategyMeta meta)
        {
            StringCollection aFields = new StringCollection();
            aFields.Clear();
            aFields.Add("Type");
            aFields.Add("Code");
            aFields.Add("Name");
            aFields.Add("Description");
            aFields.Add("Category");

            aFields.Add("Parameters");
            aFields.Add("ParameterPrecision");
            aFields.Add("ParameterDescriptions");

            aFields.Add("URL");
            aFields.Add("Authors");
            aFields.Add("Version");
            common.configuration.GetConfiguration(new string[] { "STRATEGY", meta.ClassType.Name }, aFields, StrategyData.sysXmlDocument, false);

            meta.Type = AppTypes.Text2StrategyType(aFields[0]);
            meta.Code = aFields[1];
            meta.Name = aFields[2];
            meta.Description = aFields[3];
            meta.Category = aFields[4];

            meta.ParameterList = String2ParameterList(aFields[5]);
            int num = 0; int.TryParse(aFields[6], out num);
            meta.ParameterPrecision = num;
            meta.ParameterDescriptions = common.system.String2List(aFields[7]);

            meta.URL = aFields[8];
            meta.Authors = aFields[9];
            meta.Version = aFields[10];
            return true;
        }
 public baseStrategyForm(StrategyMeta meta)
 {
     InitializeComponent();
     SetPara(meta);
     tabControl.SendToBack();
 }