private void BtnUpdateSeriesClick(object sender, EventArgs e) { if (panelSeriesParams.Controls.Count == 0) { return; } var node = treeSeries.SelectedNode; if (node == null) { return; } // изменить настройки для серии foreach (GenericObjectEditor ctrl in panelSeriesParams.Controls) { var propInf = (PropertyInfo)ctrl.Tag; try { propInf.SetValue(null, ctrl.PropertyValue, null); } catch (Exception ex) { Logger.ErrorFormat("Update series value ({0}) error: {1}", ctrl.Title, ex); MessageBox.Show(string.Format(Localizer.GetString("MessageValueNotRecognizedFmt"), ctrl.Title)); } } // сохранить настройки var nodeXml = ToolSettingsStorageFile.LoadOrCreateNode(ToolSettingsStorageFile.NodeNameSeries); CandleChartControl.SaveSeriesSettingsInXml(nodeXml); ToolSettingsStorageFile.SaveXml(nodeXml.OwnerDocument); }
/// <summary> /// Сохранение навого шаблона /// </summary> private void BtnSaveClick(object sender, EventArgs e) { var newTemplateName = cbTemplateName.Text.Trim(); if (string.IsNullOrEmpty(newTemplateName)) { MessageBox.Show( Localizer.GetString("MessageTemplateNameMustBeNotEmpty"), Localizer.GetString("TitleError")); } else { var rootNodeTemplates = ToolSettingsStorageFile.LoadOrCreateNode(ToolSettingsStorageFile.NodeNameChartTemplates, false); var doc = rootNodeTemplates.OwnerDocument; if (doc != null) { XmlElement templateNode; if (!ChartTemplate.GetChartTemplateNames().Contains(newTemplateName)) { //Если узла "chartTemplate" в документе с таким именем ещё не существует, то создаём новый узел с таким именем templateNode = (XmlElement)rootNodeTemplates.AppendChild(doc.CreateElement(ToolSettingsStorageFile.NodeNameChartTemplate)); } else { //Если узл "chartTemplate" в документе с таким именем уже существует, то спрашиваем у пользователя, нужноли перезаписать в этот узел новый шаблон if ( MessageBox.Show( Localizer.GetString("MessageSuchNamedTemplateExistsOverwrite"), Localizer.GetString("TitleConfirmation"), MessageBoxButtons.OKCancel) == DialogResult.OK) { // если перезаписать, то находим по имени шаблона, описывающий его XmlElement templateNode = (XmlElement)rootNodeTemplates.ChildNodes.Cast <XmlNode>().FirstOrDefault(node => node.Attributes != null && node.Attributes[ChartTemplate.AttributeName].Value != null && node.Attributes[ChartTemplate.AttributeName].Value == newTemplateName); // и удаляем из него все дочерние узлы (они содержат описания индикаторов) и атрибуты if (templateNode != null) { templateNode.RemoveAll(); } } else { return; } } SaveTemplate(templateNode, doc); } } }
private void SaveTemplates() { // получить узел шаблонов var nodeTemplate = ToolSettingsStorageFile.LoadOrCreateNode(ToolSettingsStorageFile.NodeNameMessageTemplates); // и почистить его while (nodeTemplate.HasChildNodes) { nodeTemplate.RemoveChild(nodeTemplate.FirstChild); } // сохранить шаблоны foreach (var templ in messageTemplate) { var templNode = nodeTemplate.AppendChild(nodeTemplate.OwnerDocument.CreateElement("template")); templNode.Attributes.Append(nodeTemplate.OwnerDocument.CreateAttribute("name")).Value = templ.Key; templNode.InnerText = templ.Value; } // сохранить документ ToolSettingsStorageFile.SaveXml(nodeTemplate.OwnerDocument); }
public void SaveScripts() { // получить узел скриптов var nodeScript = ToolSettingsStorageFile.LoadOrCreateNode(ToolSettingsStorageFile.NodeNameScripts); // и почистить его while (nodeScript.HasChildNodes) { nodeScript.RemoveChild(nodeScript.FirstChild); } // сохранить скрипты if (scripts != null) { foreach (var script in scripts) { script.SaveInXml(nodeScript); } } // сохранить документ ToolSettingsStorageFile.SaveXml(nodeScript.OwnerDocument); }