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); } }
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); } }
private void SaveIndicatorTemplate(IndicatorTemplateXmlNode indicator, IndicatorTemplateItem indicatorTemplate) { indicator.Type = indicatorTemplate.IndicatorType; foreach (KeyValuePair <string, object> keyValuePair in indicatorTemplate.Properties) { string str; if (keyValuePair.Value.GetType() == typeof(Color)) { Color color = (Color)keyValuePair.Value; str = (string)(object)color.A + (object)"," + (string)(object)color.R + "," + (string)(object)color.G + "," + (string)(object)color.B; } else { str = !keyValuePair.Value.GetType().IsEnum ? (string)Convert.ChangeType(keyValuePair.Value, typeof(string), (IFormatProvider)NumberFormatInfo.InvariantInfo) : keyValuePair.Value.ToString(); } indicator.Settings.Add(keyValuePair.Key, keyValuePair.Value.GetType(), str); } foreach (IndicatorTemplateItem indicatorTemplate1 in indicatorTemplate.Children) { this.SaveIndicatorTemplate(indicator.IndicatorTemplates.Add(), indicatorTemplate1); } }
private void SaveIndicatorTemplate(IndicatorTemplateXmlNode indicator, IndicatorTemplateItem indicatorTemplate) { indicator.Type = indicatorTemplate.IndicatorType; foreach (KeyValuePair<string, object> keyValuePair in indicatorTemplate.Properties) { string str; if (keyValuePair.Value.GetType() == typeof (Color)) { Color color = (Color) keyValuePair.Value; str = (string) (object) color.A + (object) "," + (string) (object) color.R + "," + (string) (object) color.G + "," + (string) (object) color.B; } else str = !keyValuePair.Value.GetType().IsEnum ? (string) Convert.ChangeType(keyValuePair.Value, typeof (string), (IFormatProvider) NumberFormatInfo.InvariantInfo) : keyValuePair.Value.ToString(); indicator.Settings.Add(keyValuePair.Key, keyValuePair.Value.GetType(), str); } foreach (IndicatorTemplateItem indicatorTemplate1 in indicatorTemplate.Children) this.SaveIndicatorTemplate(indicator.IndicatorTemplates.Add(), indicatorTemplate1); }