예제 #1
0
        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);
        }
예제 #2
0
        /// <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);
                }
            }
        }
예제 #3
0
        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);
        }
예제 #4
0
        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);
        }