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); }
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); }
/// <summary> /// вспомогательный метод, нопосредствено сохраняющий/пересохраняющий шаблон /// </summary> /// <param name="templateNode">XmlElement представляющий описание шаблона</param> /// <param name="doc">XmlDocument, в который нужно записать орисание шаблона</param> private void SaveTemplate(XmlElement templateNode, XmlDocument doc) { if (templateNode != null && templateNode.OwnerDocument != null) { var xmlAttrTicker = templateNode.OwnerDocument.CreateAttribute(ChartTemplate.AttributeSymbol); xmlAttrTicker.Value = chbxBindCurrencyTicket.Checked ? txtCurrentTickerValue.Text : ChartTemplate.UniversalSymbol; templateNode.Attributes.Append(xmlAttrTicker); var xmlAttrChartType = templateNode.OwnerDocument.CreateAttribute(ChartTemplate.AttributeChartType); xmlAttrChartType.Value = chart.chart.ChartType.ToString(); templateNode.Attributes.Append(xmlAttrChartType); var xmlAttrName = templateNode.OwnerDocument.CreateAttribute(ChartTemplate.AttributeName); xmlAttrName.Value = cbTemplateName.Text; templateNode.Attributes.Append(xmlAttrName); if (chbxSaveChartSettings.Checked) { var xmlAttrSize = templateNode.OwnerDocument.CreateAttribute(ChartTemplate.AttributeChartSize); xmlAttrSize.Value = string.Format("{0};{1}", chart.Parent.Size.Width, chart.Parent.Size.Height); templateNode.Attributes.Append(xmlAttrSize); } if (chebxSaveIndicators.Checked) { foreach (var indcator in chart.indicators) { var indicatorNode = (XmlElement)templateNode.AppendChild(doc.CreateElement(ToolSettingsStorageFile.NodeNameChartTemplateIndicator)); BaseChartIndicator.MakeIndicatorXMLNode(indcator, indicatorNode); } } ToolSettingsStorageFile.SaveXml(doc); } }