Пример #1
0
        private void CbTickerSelectedIndexChanged(object sender, EventArgs e)
        {
            if (panelTimeBounds.Visible)
            {
                EnsureStartDateSet();
            }

            cbTemplates.Items.Clear();
            cbTemplates.Items.AddRange(ChartTemplate.GetChartTemplateNames(cbTicker.Text));
        }
Пример #2
0
        /// <summary>
        /// Вспомогательный метод загрузки имён шаблонов
        /// </summary>
        private void LoadTemplateNames()
        {
            cbTemplateName.Items.Clear();
            cbTemplateName.Items.AddRange(ChartTemplate.GetChartTemplateNames(symbol, chbOnlyCurrentTickerTemplate.Checked));

            if (cbTemplateName.Items.Count > 0)
            {
                cbTemplateName.SelectedIndex = 0;
            }
        }
Пример #3
0
 private void SaveChartTemplateLoad(object sender, EventArgs e)
 {
     txtCurrentTickerValue.Text = chart.Symbol;
     cbTemplateName.Items.Clear();
     cbTemplateName.Items.AddRange(ChartTemplate.GetChartTemplateNames(chart.Symbol));
     if (!string.IsNullOrEmpty(chart.CurrentTemplateName))
     {
         chbxBindCurrencyTicket.Checked = ChartTemplate.IsUniversalTemplate(chart.CurrentTemplateName);
         cbTemplateName.SelectedItem    =
             cbTemplateName.Items.Cast <string>().FirstOrDefault(x => x == chart.CurrentTemplateName);
     }
 }
Пример #4
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);
                }
            }
        }
Пример #5
0
        private void NewChartFormLoad(object sender, EventArgs e)
        {
            var timeframes =
                BarSettingsStorage.Instance.GetCollection().Select(
                    n => BarSettingsStorage.Instance.GetBarSettingsFriendlyName(n)).ToList();

            cbTimeframe.DataSource = timeframes;
            if (timeframes.Count > 4)
            {
                cbTimeframe.SelectedIndex = 4;
            }

            cbTicker.Initialize();
            if (cbTicker.Items.Count != 0)
            {
                cbTicker.SelectedIndex = 0;
            }

            cbTemplates.Items.Clear();
            cbTemplates.Items.AddRange(ChartTemplate.GetChartTemplateNames(cbTicker.Text));
        }