Exemplo n.º 1
0
 private void LoadIndicatorTemplate(IndicatorTemplateItem indicatorTemplate, IndicatorTemplateXmlNode indicatorNode)
 {
     foreach (SettingXmlNode settingXmlNode in indicatorNode.Settings)
     {
         object obj;
         if (settingXmlNode.Type.IsEnum)
         {
             obj = Enum.Parse(settingXmlNode.Type, settingXmlNode.Value);
         }
         else if (settingXmlNode.Type == typeof(Color))
         {
             string[] strArray = settingXmlNode.Value.Split(new char[1]
             {
                 ','
             });
             obj = (object)Color.FromArgb(int.Parse(strArray[0]), int.Parse(strArray[1]), int.Parse(strArray[2]), int.Parse(strArray[3]));
         }
         else
         {
             obj = Convert.ChangeType((object)settingXmlNode.Value, settingXmlNode.Type, (IFormatProvider)NumberFormatInfo.InvariantInfo);
         }
         indicatorTemplate.SetProperty(settingXmlNode.Name, obj);
     }
     foreach (IndicatorTemplateXmlNode indicatorNode1 in indicatorNode.IndicatorTemplates)
     {
         IndicatorTemplateItem indicatorTemplate1 = new IndicatorTemplateItem(indicatorNode1.Type);
         indicatorTemplate.Children.Add(indicatorTemplate1);
         this.LoadIndicatorTemplate(indicatorTemplate1, indicatorNode1);
     }
 }
Exemplo n.º 2
0
		private IndicatorTemplateItem CreateIndicatorTemplate(Indicator indicator)
		{
			Type type = ((object)indicator).GetType();
			IndicatorTemplateItem indicatorTemplateItem = new IndicatorTemplateItem(type);
			indicatorTemplateItem.SetProperty("Color", ((TimeSeries)indicator).Color);
			indicatorTemplateItem.SetProperty("Name", ((TimeSeries)indicator).Name);
			indicatorTemplateItem.SetProperty("Title", ((TimeSeries)indicator).Title);
			foreach (PropertyInfo propertyInfo in type.GetProperties())
			{
				foreach (Attribute attribute in propertyInfo.GetCustomAttributes(false))
				{
					if (attribute.GetType() == typeof(IndicatorParameterAttribute))
						indicatorTemplateItem.SetProperty(propertyInfo.Name, propertyInfo.GetValue((object)indicator, (object[])null));
				}
			}
			return indicatorTemplateItem;
		}
Exemplo n.º 3
0
        private IndicatorTemplateItem CreateIndicatorTemplate(Indicator indicator)
        {
            Type type = ((object)indicator).GetType();
            IndicatorTemplateItem indicatorTemplateItem = new IndicatorTemplateItem(type);

            indicatorTemplateItem.SetProperty("Color", ((TimeSeries)indicator).Color);
            indicatorTemplateItem.SetProperty("Name", ((TimeSeries)indicator).Name);
            indicatorTemplateItem.SetProperty("Title", ((TimeSeries)indicator).Title);
            foreach (PropertyInfo propertyInfo in type.GetProperties())
            {
                foreach (Attribute attribute in propertyInfo.GetCustomAttributes(false))
                {
                    if (attribute.GetType() == typeof(IndicatorParameterAttribute))
                    {
                        indicatorTemplateItem.SetProperty(propertyInfo.Name, propertyInfo.GetValue((object)indicator, (object[])null));
                    }
                }
            }
            return(indicatorTemplateItem);
        }
Exemplo n.º 4
0
 private void LoadIndicatorTemplate(IndicatorTemplateItem indicatorTemplate, IndicatorTemplateXmlNode indicatorNode)
 {
   foreach (SettingXmlNode settingXmlNode in indicatorNode.Settings)
   {
     object obj;
     if (settingXmlNode.Type.IsEnum)
       obj = Enum.Parse(settingXmlNode.Type, settingXmlNode.Value);
     else if (settingXmlNode.Type == typeof (Color))
     {
       string[] strArray = settingXmlNode.Value.Split(new char[1]
       {
         ','
       });
       obj = (object) Color.FromArgb(int.Parse(strArray[0]), int.Parse(strArray[1]), int.Parse(strArray[2]), int.Parse(strArray[3]));
     }
     else
       obj = Convert.ChangeType((object) settingXmlNode.Value, settingXmlNode.Type, (IFormatProvider) NumberFormatInfo.InvariantInfo);
     indicatorTemplate.SetProperty(settingXmlNode.Name, obj);
   }
   foreach (IndicatorTemplateXmlNode indicatorNode1 in indicatorNode.IndicatorTemplates)
   {
     IndicatorTemplateItem indicatorTemplate1 = new IndicatorTemplateItem(indicatorNode1.Type);
     indicatorTemplate.Children.Add(indicatorTemplate1);
     this.LoadIndicatorTemplate(indicatorTemplate1, indicatorNode1);
   }
 }